如何在Windows中安装和使用“ make”?


125

我正在遵循某人的说明,该人的存储库已克隆到我的机器上。我想要的很简单:能够将make命令用作设置代码环境的一部分。但是我使用的是Windows,我在网上搜索的唯一目的是找到要下载的make.exe文件,要下载的make-4.1.tar.gz文件(接下来我不知道该怎么做)以及有关下载MinGW(对于GNU;但安装后,我没有提到“ make”)。

我不需要GNU编译器或相关的东西;我只想在Windows中使用“ make”。请告诉我该怎么做。

提前致谢!


1
仅安装make不可能解决您的问题。许多Makefile是为类似Unix的系统编写的,需要您安装大量其他实用程序(如果项目涉及已编译的代码,则包括受支持的编译器),例如Cygwin,或者如果您真的无法释放,则仅切换至WSL这样的平台完全由Windows自己完成。
6

Answers:


157

make是GNU命令,因此在Windows上获得它的唯一方法是安装Windows版本,如GNUWin32提供的版本。或者,您可以安装MinGW,然后执行以下操作:

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

或在PATH中创建指向实际可执行文件的链接。在这种情况下,如果更新MinGW,则不会删除链接:

mklink c:\bin\make.exe C:\MinGW\bin\mingw32-make.exe

其他选择是使用Chocolatey。首先,您需要安装此程序包管理器。安装完成后,您需要安装make

choco install make

最后一个选择是安装Windows Linux子系统(WSL),因此您将在Windows 10中嵌入自己选择的Linux发行版,可以在其中安装makegcc以及构建C程序所需的所有工具。


1
谢谢!我不知道make是GNU命令。我检查了您提供的路径,并找到了make.exe,但路径与此类似(C:\ MinGW \ msys \ 1.0 \ bin \ make.exe)。我将此添加到PATH变量中,并且可以正常工作!
Hashem Elezabi 2015年

2
一个简单的方法是创建一个符号链接:mklink C:\bin\make.exe C:\MinGW\bin\mingw32-make.exe。因此,将来如果您确实升级了mingw,该链接将保持不变。
kumarharsh

1
只使用MSYS2我无法使用mklink。MSYS2 pacman可以安装make pacman -S make,但无法正常工作。而是mingw32-make.exe已经存在于中msys64/mingw64/bin。也许它附带了gcc。我很困惑,为什么它不只是被称为make.exe。我只是将其复制到make.exe
Neonit

2
提到Visual Studio附带了自己的“ make”实用程序也许很有用nmake,请参阅doc。在VS命令提示符下可以使用它,但是您当然可以将其添加到路径中。但是请注意,与GNU make相比,功能非常有限,并且该文档几乎不存在...
jmon12

1
@notacorn之类的,但是您可以从两个目录中都访问“ Windows”文件夹。使用/ c的Git bash,使用/ mnt / c的WSL。
EduardoYáñezParareda

183

GNU make在巧克力上可用。

  • 这里安装巧克力。

  • 然后,choco install make

现在,您将可以在Windows上使用Make。
我尝试在MinGW上使用它,但它也应在CMD上工作。


31
截至2019
我的堆栈溢出

是否有理由在Bash中不起作用?@vasantha
user3614648 '19

注意:您可能需要使用choco config set proxy ADDRESS:PORT
weshouman '19

如果您不喜欢chocolaty如何要求管理员执行powershell会话,那么还有个独家新闻
Jonathan Landrum

18

通常,可接受的答案是一个坏主意,因为手动创建的代码make.exe会留下来并可能导致意外的问题。它实际上破坏了RubyInstaller:https : //github.com/oneclick/rubyinstaller2/issues/105

另一种方法是通过Chocolatey 安装make(如@Vasantha Ganesh K所指出的)

另一种选择是从Chocolatey 安装MSYS2make从中使用C:\tools\msys64\usr\bin。如果make未随MSYS2自动安装,则需要通过pacman -S make(如@Thad Guidry和@Luke指出的)手动安装。


3
我使用Chocolatey安装了此软件,但C:\tools\msys64\usr\bin??中没有make.exe。
Rosdi Kasim

1
您可以在该文件夹中找到pacman,然后使用@thad的步骤3
Luke

8

如果您使用的是Windows 10,它将内置在Linux子系统功能中。只需启动Bash提示符(按Windows键,然后键入bash并选择“ Windows上的Ubuntu上的Bash”),然后cd转到要创建的目录并键入即可make

FWIW,Windows驱动器位于中/mnt,例如,C:\驱动器/mnt/c位于Bash中。

如果您的开始菜单中没有Bash,请按照以下说明启用Windows功能(仅限64位Windows):

https://docs.microsoft.com/zh-CN/windows/wsl/install-win10


4
Linux子系统在Windows 10 Home上不可用。
马丁·格雷

在过去两个月中,我一直在Win10 Home ver.1809上使用Linux的Windows子系统(特别是从Microsoft Store下载的Ubuntu 20.04 LTS),没有任何问题。说到make,我可以直接从Windows Terminal窗口中使用它,甚至不需要先启动bash。整齐。
伊戈尔·苏达克维奇


5

从其官方网站GnuWin32下载make.exe

  • 在“下载”会话中,单击“ 完整包”,但“源”除外

  • 请遵循安装说明。

  • 完成后,将添加<installation directory>/bin/到PATH变量。

现在您将可以在cmd中使用make。


您能否帮助我如何将目录设置为PATH变量。

3

另一种选择是,如果您已经安装了minGW并将bin文件夹添加到Path环境变量中,则可以使用“ mingw32-make”代替“ make”。

您也可以创建一个从“ make”到“ mingw32-make”的符号链接,或者复制和更改文件名。我以前不建议使用这些选项,除非您对minGW进行更改,否则它们将一直有效。


您可以指定“之前的选项”是什么意思吗?
乔纳

1

我可以建议一种循序渐进的方法。

  1. 访问GNUwin
  2. 下载安装程序
  3. 按照说明安装GNUWin。您应该注意应用程序的安装目录。(稍后将需要它1)
  4. 请遵循以下说明,并将make添加到您的环境变量中。正如我之前告诉您的,现在该知道应用程序的安装位置了。仅供参考:默认目录为C:\Program Files (x86)\GnuWin32\
  5. 现在,更新PATH以包括新安装程序的bin目录。关于可能添加到路径的一个典型示例是:...;C:\Program Files (x86)\GnuWin32\bin

0

如果您要使用命令行仿真器cmder,一种解决方案可能会有所帮助。您可以选择安装软件包安装程序。首先,我们使用以下代码行在Windows命令提示符下安装:

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
refreshenv

安装Chocolatey之后,可以使用choco命令安装make。安装后,您将需要在/cmder/config/user_aliases.cmd中添加一个别名。应该添加以下行:

make="path_to_chocolatey\chocolatey\bin\make.exe" $*

Make将在cmder环境中运行。

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.