我正在遵循某人的指示,我将其存储库克隆到我的机器上。我想使用make命令作为设置代码环境的一部分,但我使用的是Windows。我在网上搜索了一下,但只找到了一个make.exe文件、一个make. 4.1.tar.gz文件(我不知道接下来该怎么处理它)和如何下载MinGW(适用于GNU;但安装后,我没有发现任何提到“make”)。
在没有GNU编译器或相关包的情况下,如何使用Windows中的make ?
我正在遵循某人的指示,我将其存储库克隆到我的机器上。我想使用make命令作为设置代码环境的一部分,但我使用的是Windows。我在网上搜索了一下,但只找到了一个make.exe文件、一个make. 4.1.tar.gz文件(我不知道接下来该怎么处理它)和如何下载MinGW(适用于GNU;但安装后,我没有发现任何提到“make”)。
在没有GNU编译器或相关包的情况下,如何使用Windows中的make ?
当前回答
一般来说,接受的答案是一个坏主意,因为手动创建的make.exe会一直存在,并可能导致意想不到的问题。它实际上破坏了RubyInstaller: https://github.com/oneclick/rubyinstaller2/issues/105
另一种选择是通过Chocolatey安装make(正如@Vasantha Ganesh K指出的那样)
另一种方法是在Chocolatey上安装MSYS2,在C:\tools\msys64\usr\bin中使用make。如果make没有在MSYS2中自动安装,你需要通过pacman -S make手动安装(正如@Thad Guidry和@Luke指出的那样)。
其他回答
如果你使用的是Windows 10,它是内置在Linux子系统特性中的。只需要启动一个Bash提示符(按Windows键,然后输入Bash并选择“Bash on Ubuntu on Windows”),cd到你想要制作的目录并输入make。
FWIW, Windows驱动器在/mnt中找到,例如Bash中的C:\ drive是/mnt/ C。
如果Bash在开始菜单中不可用,下面是打开Windows功能(仅限64位Windows)的说明:
https://learn.microsoft.com/en-us/windows/wsl/install-win10
你也可以安装scoop,然后运行:
scoop install make
除了GNU之外,您可能还需要许多coreutils。Touch, rm, cp, sed, test, tee, echo等等。构建系统可能需要bash特性,如果没有其他原因,通常从进程ID($$$$)创建临时文件名。没有bash是不行的。你可以用Windows上流行的POSIX模拟器得到所有东西:
Cygwin (http://www.cygwin.org/) Probably the most popular one and the most compatible with POSIX. Has some difficulties with Windows paths and it's slow. GNUWin (http://gnuwin32.sourceforge.net/) It was good and fast but now abandoned. No bash provided, but it's possible to use it from other packages. ezwinports (https://sourceforge.net/projects/ezwinports) My current favorite. Fast and works well. There is no bash provided with it, that can be a problem for some build systems. It's possible to use make from ezwinports and bash from Cygwin or MSYS2 as a workaround. MSYS 1.19 abandoned. Worked well but featured very old make (3.86 or so) MSYS2 (https://www.msys2.org/) Works well, second fastest solution after ezwinports. Good quality, package manager (pacman), all tooling available. I'd recommend this one. MinGW abandoned? There was usually MSYS 1.19 bundled with MinGW packages, that contained an old make.exe. Use mingw32-make.exe from the package, that's more up to date.
Note that you might not be able to select your environment. If the build system was created for Cygwin, it might not work in other environments without modifications (The make language is the same, but escaping, path conversion are working differently, $(realpath) fails on Windows paths, DOS bat files are started as shell scripts and many similar issues). If it's from Linux, you might need to use a real Linux or WSL. If the compiler is running on Linux, there is no point in installing make for Windows, because you'll have to run both make and the compiler on Linux. In the same way, if the compiler is running on Windows, WSL won't help, because in that environment you can only execute Linux tools, not Windows executables. It's a bit tricky!
在windows 10或windows 11操作系统上执行winget install GnuWin32命令。在命令行或powershell中进行Make以快速安装。然后可以使用cmake命令。
没有必要再安装巧克力了。
make是一个GNU命令,所以在Windows上获得它的唯一方法是安装一个像GNUWin32提供的Windows版本。不管怎样,有几个选项可以得到它:
The most simple choice is using Chocolatey. First you need to install this package manager. Once installed you simlpy need to install make (you may need to run it in an elevated/admin command prompt) : choco install make Other recommended option is installing a Windows Subsystem for Linux (WSL/WSL2), so you'll have a Linux distribution of your choice embedded in Windows 10 where you'll be able to install make, gccand all the tools you need to build C programs. For older Windows versions (MS Windows 2000 / XP / 2003 / Vista / 2008 / 7 with msvcrt.dll) you can use GnuWin32.
一个过时的替代方案是MinGw,但这个项目似乎已经被放弃了,所以最好还是选择以前的一个选择。