如何在Windows上使用GNU Make?


95

我安装了MinGW和MSYS,已添加C:\MinGW\bin到其中,PATH但仍然无法在Windows上运行Makefile cmd。例如,我想运行cmd.exe并输入,make all但是我的cmd表示没有这样的命令。

我该怎么办?我不想使用MSYS Shell,这不是重点。有什么想法可以像在Ubuntu中那样在Windows cmd中使用GNU Make吗?我对没兴趣Cygwin


1
您必须将其添加到系统设置中环境变量下的PATH中。
slugonamission,2012年

@slugonamission:我做它已经,我写了:)
牦牛

运行make.exe而不是make?
slugonamission,2012年

2
@slugonamission:我做到了!我添加C:\MinGW\msys\1.0\bin到PATH,并且有效!:d但仍然有问题,make显示我:pastie.org/private/ixaaqbq2xl3geyg0emnow
牦牛

1
在您的all目标中,hello.exe需要与all被视为目标的依赖项在同一行上。如果不是,则成为任务的一部分all
slugonamission,2012年

Answers:


101

这是我如何使其工作的方法:

  copy c:\MinGW\bin\mingw32-make.exe c:\MinGW\bin\make.exe

然后,我可以打开命令提示符并键入make:

  C:\Users\Dell>make
  make: *** No targets specified and no makefile found.  Stop.

这意味着它现在正在工作!


10
@Imray我认为情况还不是很清楚:make是在file中分发的mingw32-make.exe。由于该目录c:\MinGW\bin位于系统路径上,因此您可以将其mingw32-make用作命令,也可以将其复制(更安全的重命名)mingw32-make.exe到just make.exe
托马什Zato -恢复莫妮卡

1
出于膨胀的原因,您几乎应该远离使msys或mingw成为环境变量的一部分,而且还因为msys目录本身是本地的。如果msys中的路径在mingw64的bin中,则可以使用make,但是不会在此问题上发言。同样不用说这个问题,您应该创建一个到mingw32-make.exe的HARD链接作为make.exe,这使生活更加轻松,而不必克隆exe。试试:mklink /H C:\MinGW\bin\mingw32-make.exe C:\MinGW\bin\make.exe
user2262111 '18


6

尽管这个问题很古老,但是许多使用MSYS2的人仍然提出了这个问题。

我从今年开始使用它来替代CygWin,现在我感到非常满意。

要安装make,请打开MSYS2 shell并键入以下命令:

# Update the package database and core system packages
pacman -Syu
# Close shell and open again if needed

# Update again
pacman -Su

# Install make
pacman -S make

# Test it (show version)
make -v

3

您可以使用以下命令从命令提示符处将应用程序文件夹添加到路径中:

setx PATH“%PATH%; c:\ MinGW \ bin”

请注意,您可能需要打开一个新的命令窗口,以使修改后的路径设置生效。



0

user1594322提供了正确的答案,但是当我尝试它时,我遇到了管理/权限问题。我能够复制'mingw32-make.exe'并粘贴它,否决/绕过管理问题,然后将副本编辑为'make.exe'。在Win7 guest虚拟机中的VirtualBox上。


0

尽管make本身可以作为独立的可执行文件(gnuwin32.sourceforge.net程序包make)使用,但在适当的开发环境中使用它意味着使用msys2

Git 2.24(2019年第四季度)说明:

请参阅提交4689931提交b35304b提交ab7d854提交be5d88e提交5d65ad1提交030a628提交61d1d92提交e4347c9提交ed712ef提交5b8f9e2提交41616ef提交c097b95(2019年10月4日)和提交dbcd970(2019年9月30日)由Johannes Schindelin(dscho
(由Junio C gitsterHamano合并--6d5291b提交中,2019年10月15日)

test-tool run-command:学习运行(部分)测试套件

签字人:约翰内斯·辛德尔林

适用于Windows的Git跳过了障碍,提供了一个开发环境,该环境允许构建Git并运行其测试套件。

为此,提供了包括GNU make和GCC在内的整个MSYS2系统,作为“ Windows SDK的Git”。
它的确是有代价的:最初下载的SDK包含数百兆字节,而解压缩后的SDK占用约2GB的磁盘空间。

Windows上更本地化的开发环境是Visual Studio。为了帮助贡献者使用该环境,我们已经有了一个Makefile目标vcxproj,该目标使用项目文件(和其他生成的文件)生成提交,并且vs/master使用该目标不断重新生成Windows的Git 分支。

这个想法是允许在Visual Studio中构建Git,并使用Portable Git运行个别测试。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.