关于makefile:如何在Windows中安装和使用” make”?

How to install and use “make” in Windows?

我正在遵循某人的指示,该人的存储库已克隆到我的机器。我想要的很简单:能够在设置代码环境的过程中使用make命令。但是我使用的是Windows,我在网上搜索时仅找到要下载的make.exe文件,要下载的make-4.1.tar.gz文件(我下一步不知道该怎么做)以及有关下载MinGW(针对GNU;但是安装后,我没有提到" make"。

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

谢谢!


GNU make可以在巧克力上使用。

  • 从此处安装巧克力。

  • 然后choco install make

现在您将可以在Windows上使用Make。
我已经尝试过在MinGW上使用它,但是它也应该在CMD上也可以使用。


make是GNU命令,因此在Windows上获取它的唯一方法是安装Windows版本,如GNUWin32提供的版本。无论如何,有几种方法可以实现:

  • 使用MinGW,请确保您具有C:\\MinGW\\bin\\mingw32-make.exe。否则,您会丢失mingw32-make additional utilities。在MinGW的HowTo页面上查找链接以进行安装。掌握之后,您有两种选择:
    • 1.1将MinGW make可执行文件复制到make.exe

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

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

      1
      mklink c:\\bin\\make.exe C:\\MinGW\\bin\\mingw32-make.exe
  • 其他选项正在使用Chocolatey。首先,您需要安装此程序包管理器。安装完成后,您需要安装make

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


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

    一种替代方法是通过Chocolatey安装make(如@Vasantha Ganesh K指出的那样)

    另一种替代方法是从Chocolatey安装MSYS2,并从C:\\tools\\msys64\\usr\\bin使用make。如果MSYS2没有自动安装make,则需要通过pacman -S make手动安装(如@Thad Guidry和@Luke指出的那样)。


    如果使用Windows 10,它将内置在Linux子系统功能中。只需启动一个Bash提示符(按Windows键,然后键入bash并选择" Windows上的Ubuntu上的Bash"),将cd移至要创建的目录,然后键入make

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

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

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


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

    • 在"下载"会话中,单击
      完整的软件包,来源除外。

    • 按照安装说明进行操作。

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

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


  • 安装Msys2 http://www.msys2.org
  • 遵循安装说明
  • 使用$ pacman -S make gettext base-devel安装make
  • C:\\msys64\\usr\\bin\\添加到您的路径

  • 我可以建议您逐步进行操作。

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

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

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


  • 安装npm
  • 安装节点
  • 安装Make
    节点安装组成
    节点安装
    如果以上命令显示任何错误,则安装Chocolatey(choco)
    打开cmd,然后复制并粘贴以下命令(从巧克力URL复制的命令)
    @"%SystemRoot%\\\\ System32 \\\\ WindowsPowerShell \\\\ v1.0 \\\\ powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command" [System.Net.ServicePointManager] :: SecurityProtocol = 3072; iex(( -Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))"


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

    1
    2
    @"%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中添加一个别名。应该添加以下行:

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

    然后将在cmder环境中运行。