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


当前回答

看看GnuWin的make(适用于windows),它为windows提供了一个本地端口(不需要像Cygwin那样的完整运行时环境)

如果你有winget,你可以像这样通过CLI安装:

winget install GnuWin32.Make

另外,请确保将安装路径添加到您的系统path:

C:\Program Files (x86)\GnuWin32\bin

其他回答

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

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

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

首先,将visual studio常用工具的路径(c:\Program Files (x86)\Microsoft visual studio 14.0\Common7\ tools)添加到系统路径中。要了解如何将路径添加到系统路径中,请查看此网站: http://www.computerhope.com/issues/ch000549.htm。你只需要这样做一次。

在此之后,只要需要,打开命令行并执行vsvars32.bat,将所有所需的visual studio工具路径添加到系统路径中。

然后,你可以调用nmake -f makefile.mak

PS: visual studio常用工具的路径在您的系统中可能不同。请相应更改。

如果您已经从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命令。

我假设你添加了mingw32/bin被添加到环境变量中,否则请添加它,我假设它是gcc编译器,你有mingw安装程序。

第一步:从mingw安装程序下载mingw32-make.exe,或先检查mingw/bin文件夹是否存在mingw32-make.exe,否则安装,重命名为make.exe。

将其重命名为make.exe后,只需在makefile所在的目录中运行此命令。您可以直接以mingw32-make的形式运行它,而不是重命名它。

毕竟,命令只是一个exe文件或软件,我们用它的名字来执行软件,我们称它为命令。