我正在按照我克隆到本地的某个人的代码库的指示进行操作。作为设置代码环境的一部分,我想要使用make
命令,但我使用的是Windows系统。我在网上搜索,但只找到了一个make.exe
文件,一个make-4.1.tar.gz
文件(我不知道该如何处理),以及有关如何下载MinGW(针对GNU的软件;但安装后我没有找到任何有关“make”的提及)的说明。
如何在Windows中使用make
而不需要GNU编译器或相关软件包?
我正在按照我克隆到本地的某个人的代码库的指示进行操作。作为设置代码环境的一部分,我想要使用make
命令,但我使用的是Windows系统。我在网上搜索,但只找到了一个make.exe
文件,一个make-4.1.tar.gz
文件(我不知道该如何处理),以及有关如何下载MinGW(针对GNU的软件;但安装后我没有找到任何有关“make”的提及)的说明。
如何在Windows中使用make
而不需要GNU编译器或相关软件包?
另一个选择是,如果您已经安装了minGW并将bin文件夹添加到Path环境变量中,则可以使用“mingw32-make”而不是“make”。
您还可以从“make”创建符号链接到“mingw32-make”,或者复制并更改文件的名称。我不建议在minGW上进行更改之前使用这些选项。
build_w32.bat gcc
,这将使用gcc编译器开始编译,您需要提前安装。当运行build_w32.bat
时,不带任何选项,它们会尝试使用MSVC编译器。旁注:我发现GNU不使用gcc作为默认值,而是使用MSVC,这令人惊讶:-)gnumake.exe
(使用gcc编译)make.exe
正如其他人所指出的那样:如果您还安装了其他程序安装的各种make版本,则此手动安装可能会导致冲突。
如果您想使用命令行模拟器cmder,可能有一个有用的解决方案。您可以安装包管理器chocately。首先,在Windows命令提示符中使用以下命令安装chocately:
@"%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环境中运行。
安装npm
安装Node
安装Make
node install make up
node install make
如果上述命令显示任何错误,则安装Chocolatey(choco)
打开cmd并复制粘贴以下命令(从chocolatey URL复制的命令)
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command " [System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
npm
"的"make
"包不是大多数构建脚本所期望的GNU Make的同一物品:它是JavaScript中make
的重新实现,不能保证与传统的makefile完全兼容,这在npm上的包页面中有记录:“make.js
”使用的解析器很小并且有其缺陷,但对于大多数Makefile,make.js能够正确解析它们。”-因此这不是OP正在寻找的内容。 - tripleee