如何在Windows上使用GNU Make?

时间:2012-10-14 11:38:19

标签: windows makefile gnu-make cmd

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

我该怎么办?我不想使用MSYS shell,这不是重点。任何想法如何在Windows cmd中使用GNU Make,因为我可以在Ubuntu中使用它?我对Cygwin不感兴趣。

7 个答案:

答案 0 :(得分:98)

以下是我如何使用它:

  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.

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

答案 1 :(得分:9)

我正在使用GnuWin32项目中的GNU Make,请参阅http://gnuwin32.sourceforge.net/但是暂时没有任何更新,所以我不确定该项目的状态。

答案 2 :(得分: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 :(得分:3)

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

setx PATH"%PATH%; c:\ MinGW \ bin"

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

答案 4 :(得分:0)

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

答案 5 :(得分:0)

或者,如果您只想安装make,则可以使用chocolatey package manager来安装gnu make

choco install make -y

这处理您可能遇到的任何路径问题。

答案 6 :(得分:0)

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

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

请参见commit 4668931commit b35304bcommit ab7d854commit be5d88ecommit 5d65ad1commit 030a628commit 61d1d92,{{3} },commit e4347c9commit ed712efcommit 5b8f9e2commit 41616ef(2019年10月4日)和commit c097b95(2019年9月30日)之前为commit dbcd970。 br /> (由Johannes Schindelin (dscho)Junio C Hamano -- gitster --中合并,2019年10月15日)

  

commit 6d5291b:学习运行测试套件(的一部分)

     

签名人:Johannes Schindelin

     

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

     

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

     

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

     

其想法是允许在Visual Studio中构建Git,并使用Portable Git运行单独的测试。