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


当前回答

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

其他回答

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

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

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

如果它是一个“NMake Makefile”,也就是说语法和命令与NMake兼容,它将在Windows上本机工作。通常Makefile。win (.win后缀)表示它是一个与Windows NMake兼容的makefile。你可以试试nmake -f makefile。win。

通常提供标准的Linux makefile文件,NMake看起来很有前途。但是,下面的链接使用了一个简单的Linux Makefile,并解释了可能遇到的一些基本问题。本文还提出了一些在Windows上处理Linux makefile的替代方法。

Windows中的Makefiles

如果你安装Cygwin。确保在安装程序中选择Make。如果您有一个Makefile,那么可以运行以下命令。

make -f Makefile

https://cygwin.com/install.html

所以如果你正在使用Vscode和Mingw,那么你应该首先确保Mingw的bin文件夹包含在环境路径中,最好将mingw32-make.exe更改为make,以简化任务,然后创建一个makefile 并在其中包含这个代码。

all:
    gcc -o filename filename.c
    ./filename

然后保存makefile并打开Vscode Code终端并写入make。然后makefile将被执行。