95

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

我该怎么办?我不想使用 MSYS shell,这不是重点。任何想法如何在 Windows cmd 中使用 GNU Make,就像在 Ubuntu 中一样?我不感兴趣Cygwin

4

7 回答 7

100

这是我如何让它工作的:

  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.

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

于 2012-10-14T19:26:08.600 回答
9

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

于 2012-10-15T13:14:57.827 回答
7

尽管这个问题很老,但许多使用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
于 2016-10-18T07:23:39.210 回答
3

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

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

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

于 2015-06-10T15:42:40.717 回答
3

作为替代方案,如果您只想安装 make,您可以使用Chocolatey包管理器来安装gnu make

choco install make -y

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

于 2019-04-23T13:23:24.223 回答
0

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

于 2018-08-23T02:17:11.567 回答
0

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

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

请参阅提交4668931提交B35304BCommit Be5D88ECommit 5D65AD1Commit 030A628Commit 61D1D92提交E434C9提交ED712EF提交5B8F9E2提交41616EF提交C097B95 (2019年10月44日),并提交DBCD970(2019年9月30日)约翰内斯辛德林dscho( ) .
(由Junio C Hamano 合并 -- gitster--提交 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使用该目标不断重新生成 Git for Windows 的分支。

这个想法是允许在 Visual Studio 中构建 Git,并使用便携式 Git 运行单独的测试。

于 2019-10-21T16:03:27.537 回答