我下载了一些演示,它们带有Makefile。win和一个Makefile.sgi。我如何在Windows中运行这些程序来编译演示?


当前回答

安装msys2的make依赖添加到PATH变量。 (第二个选项是GNU ToolChain for Windows。MinGW版本已经包含了mingw32-make。)

安装Git Bash。在Git Bash中运行mingw32-make。

其他回答

我尝试了cygwin和gnuwin,并没有为我工作,我猜是因为makefile主要使用特定的linux代码。

它的工作原理是在Windows 10上使用Ubuntu Bash。如果你来自MAC,这就是一个奇迹,就像我的情况一样:

安装Ubuntu Bash: https://itsfoss.com/install-bash-on-windows/ 进入控制台后,要安装make,只需输入“make”,它就会给出下载说明。

附加功能:

在bash上启用复制/粘贴:在Windows Ubuntu上的bash上复制粘贴 在我的例子中,make名为Maven,所以我也必须安装它:https://askubuntu.com/questions/722993/unable-to-locate-package-maven 要访问windows文件系统C: drive,例如:"cd /mnt/ C /"

希望能有所帮助

看看cygwin,一个类似Unix的Windows环境

下载网址:https://sourceforge.net/projects/gnuwin32/ 在命令提示符中预先设置变量路径,以便识别(C:\Program Files (x86)\GnuWin32\bin)

如果您已经从MSYS2安装了Windows GNU编译器(MinGW),那么make命令将作为wingw32-make预安装。始终使用正确的make命令匹配cmake makefile生成。混合这些会产生问题。

使用MinGW make命令生成MinGW makefile

使用VS等效的make命令生成Visual Studio生成文件

只要你有源代码,这总是可能的。只需删除旧的构建目录,并通过在cmake中指定正确的参数重新开始。

mkdir build
cd build
cmake -G "MinGW MakeFiles" path/to/src/whereCMakeLists.txtInstructionsAre   
mingw32-make     
myProject.exe   # RUN

我在编译过程中遇到过多个make命令交互的问题。为了防止这种情况,只需编辑/删除导致不同make命令的环境变量。例如,为了防止与mingw冲突,只保留C:\msys64\mingw64\bin,而删除C:\msys64\usr\bin。另一个路径包含msys make,正如我所说,在编译过程中你不希望组合make命令。

你可以用chocolatey安装GNU make,这是一个维护良好的包管理器,它会将make添加到全局路径,并在所有的cli (powershell, git bash, cmd,等等…)上运行,为你节省大量的维护和初始设置时间。

为Windows安装巧克力包管理器 兼容Windows 7+ / Windows Server 2003+ 运行choco install make

我不属于choco,但我强烈推荐它,到目前为止,它从未让我失望,我确实有一种无意中破坏软件的天赋。