如何在 Windows 中运行生成文件?

Posted

技术标签:

【中文标题】如何在 Windows 中运行生成文件?【英文标题】:How to run a makefile in Windows? 【发布时间】:2011-02-01 16:46:41 【问题描述】:

我下载了一些演示,它们带有 Makefile.win 和 Makefile.sgi。如何在 Windows 中运行这些来编译演示?

【问题讨论】:

我应该提一下,我更像是一个 Linux 人,但我现在需要使用 Windows,所以我有点无能为力。 给出了非常清晰的指南here ***.com/questions/32127524/…的可能重复 【参考方案1】:

如果您有 Visual Studio,请从“开始”菜单运行 Visual Studio 命令提示符,切换到包含 Makefile.win 的目录并键入:

nmake -f Makefile.win

您也可以使用普通命令提示符并运行 vsvars32.bat (c:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools for VS2008)。这将设置环境以运行 nmake 并找到编译器工具。

【讨论】:

如何从开始菜单运行 Visual Studio 命令提示符? 好吧,我想通了。但当然它不会因为错误而编译。只是我的运气。不过还是谢谢。 对于那些使用 VS2012 的人,命令提示符称为“VS2012 的开发人员命令提示符”。开始-->搜索-->“命令”是我找到的。 @NSD:您可以尝试其他“make”,但这些文件通常是针对 nmake 的方言编写的,并且假设 VS 已安装并位于路径上。您可能会发现免费的VS Express 就足够了。 @MarceloCantos 我是 Linux 和 Make 的菜鸟。如果我有 .am 和 .mk 文件怎么办。我没有任何 .win 文件。我正在尝试制作 wget,顺便说一句。【参考方案2】:

您可以使用维护良好的包管理器chocolatey 安装GNU make,它会将make 添加到全局路径并在所有 CLI(powershell、git bash、cmd 等)上运行,从而为您节省在维护和初始设置上花费大量时间来让 make 运行。

    Windows安装chocolatey package manager 兼容 Windows 7+ / Windows Server 2003+

    运行choco install make

我不隶属于 choco,但我强烈推荐它,到目前为止它从未让我失望,而且我确实有无意破坏软件的天赋。

【讨论】:

你太棒了,非常感谢。就像在本机 Linux 环境中尝试 Makefile 一样运行,但在 Windows 中!使用 WSL 制作 gui Java 应用程序时遇到问题,但这使它使用 PowerShell 工作。 太棒了!你拯救了我的一天!【参考方案3】:

查看cygwin,一个类似 Unix 的 Windows 环境

【讨论】:

cygwin 对我来说效果很好!。我只需要在安装过程中检查Devel 中的一些包:'make' 和'gcc',正如here 解释的那样。 我也推荐使用chocolatey安装cygwin,所以获取make的命令是这样的:choco install make --source=cygwin 使用 choco 安装后,如何将其添加到我的命令 shell 中?有要添加的路径吗? 如果你是用choco安装的,那么在系统变量“C:\tools\cygwin\bin”中的路径变量中添加这一行(带引号)【参考方案4】:

查看GnuWin 的make (for windows),它为Windows 提供了本机端口(不需要像Cygwin 这样的完整运行时环境)

如果你有winget,你可以像这样通过 CLI 安装:

winget install GnuWin32.Make

另外,请务必将安装路径添加到您的系统PATH

C:\Program Files (x86)\GnuWin32\bin

【讨论】:

另外,请将“C:\Program Files (x86)\GnuWin32\bin”添加到您的系统路径中。 您可能还需要考虑更改安装目录以避免空格和括号cause issues running the CLI【参考方案5】:

这是我运行 Makefile 的快速临时方法

从 SourceForge 下载 ma​​ke:gnuwin32 安装它 进入安装文件夹

C:\Program Files (x86)\GnuWin32\bin

将bin中的所有文件复制到Makefile所在的文件夹

libiconv2.dll libintl3.dll make.exe

打开cmd (可以通过shift右键单击在Makefile所在的文件夹中运行

make.exe

完成。

另外,你可以在命令后添加参数,如

make.exe 骨架

【讨论】:

最好将bin 目录添加到PATH 环境变量中。这将使make.exe 在任何地方都可用。 我认为它是默认完成的——至少在我安装 gnuwin32 时是这样。当然,无论如何复制文件都是不好的做法。 默认情况下没有完成(或者在我的情况下没有完成)。通过将其添加到路径中,您可以从项目文件夹中运行 make 像冠军一样工作【参考方案6】:

如果您安装Cygwin。确保在安装程序中选择 make。然后,您可以运行以下命令,前提是您有 Makefile。

make -f Makefile

https://cygwin.com/install.html

【讨论】:

【参考方案7】:

我尝试了以上所有方法。对我有什么帮助:

    下载mingw-get。 设置它。 将类似C:\MinGW\bin 的内容添加到环境变量中。 启动(!重要)git bash。 Power shell、开发人员与 cmd、系统 cmd 等都没有帮助。 在命令行中输入mingw-get。 在mingw-get install mingw32-make之后输入。

完成!现在您可以使用任何包含 Makefile 的文件夹中的 make-commands。

【讨论】:

效果很好,谢谢【参考方案8】:

使用 Visual Studio 2017,我必须将此文件夹添加到我的 Windows 10 路径环境变量中:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64

还有 HostX86

【讨论】:

【参考方案9】:

我使用提供mingw32-make 构建工具的MinGW 工具集,如果您在PATH system variables 中有它,则在Windows 命令提示符中进入包含文件的目录并输入以下命令:

mingw32-make -f Makefile.win

它已经完成了。

【讨论】:

【参考方案10】:

如果是“NMake Makefile”,也就是说语法和命令与 NMake 兼容,它将在 Windows 上原生运行。通常Makefile.win.win 后缀)表示它是与 Windows NMake 兼容的生成文件。所以你可以试试nmake -f Makefile.win

通常会提供标准的 Linux Makefiles,NMake 看起来很有希望。但是,以下链接采用了一个简单的 Linux Makefile 并解释了可能会遇到的一些基本问题。它还提出了一些在 Windows 上处理 Linux Makefile 的替代方案。

Makefiles in Windows

【讨论】:

【参考方案11】:

首先将visual studio常用工具的路径(c:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools)添加到系统路径中。要了解如何在系统路径中添加路径,请查看此网站: http://www.computerhope.com/issues/ch000549.htm。你只需要这样做一次。

之后,根据需要,打开命令行并执行vsvars32.bat,将所有需要的visual studio工具路径添加到系统路径中。

然后,您可以拨打nmake -f makefile.mak

PS:Visual Studio 常用工具的路径在您的系统中可能会有所不同。请相应更改。

【讨论】:

【参考方案12】:

我尝试使用 cygwin 和 gnuwin,但对我没有用,我猜是因为 makefile 主要使用特定的 linux 代码。

它的工作原理是使用 Ubuntu Bash for Windows 10。如果您来自 MAC,这就是奇迹,因为这是我的情况:

    要安装 Ubuntu Bash:https://itsfoss.com/install-bash-on-windows/ 进入控制台后,只需键入“make”即可安装 make,它会给出下载说明。

附加:

    有用的在 bash 上启用复制/粘贴:Copy Paste in Bash on Ubuntu on Windows 在我的例子中,make 叫做 Maven,所以我也必须安装它:https://askubuntu.com/questions/722993/unable-to-locate-package-maven 访问windows文件系统C:盘,例如:“cd /mnt/c/”

希望对你有帮助

【讨论】:

【参考方案13】:
    从https://sourceforge.net/projects/gnuwin32/下载 在命令提示符中设置识别变量路径(C:\Program Files (x86)\GnuWin32\bin)

【讨论】:

【参考方案14】:

安装 msys2 并使用 make 依赖将两者都添加到 PATH 变量中。 (第二个选项是 GNU ToolChain for Windows。MinGW 版本已经包含了 mingw32-make。)

安装 Git Bash。从 Git Bash 运行 mingw32-make。

【讨论】:

【参考方案15】:

我假设您添加了 mingw32/bin 已添加到环境变量中,否则请添加它,我假设它是 gcc 编译器并且您有 mingw 安装程序。

第一步:从mingw安装程序下载mingw32-make.exe,或者先检查mingw/bin文件夹mingw32-make.exe是否存在,否则安装,重命名为make.exe

重命名为make.exe后,在makefile所在的目录下运行该命令即可。无需重命名,您可以直接以mingw32-make 运行它。

命令毕竟只是exe文件或软件,我们用它的名字来执行软件,我们称之为命令。

【讨论】:

【参考方案16】:

所以如果你使用 Vscode 和 Mingw 那么你应该首先确保 mingwbin 文件夹包含在环境路径中,并且最好将 mingw32-make.exe 更改为 make 为减轻任务,然后创建一个makefile 并在其中包含此代码。

all:
    gcc -o filename filename.c
    ./filename

然后保存makefile并打开Vscode Code终端并写入make。然后makefile将被执行。

【讨论】:

【参考方案17】:

也许它可以工作。

pip install Makefile

【讨论】:

以上是关于如何在 Windows 中运行生成文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 c c++ 混合生成文件中为 c 对象添加附加规则?

如何在windows 7 下生成html?

如何使用Windows环境在生产中部署Java Play应用程序?

.bat文件如何生成windows服务

如何在 Windows 8.1 上运行 Elixir 脚本

如何产生javacore文件和heapdump文件