我下载了一些演示,它们带有Makefile。win和一个Makefile.sgi。我如何在Windows中运行这些程序来编译演示?
当前回答
所以如果你正在使用Vscode和Mingw,那么你应该首先确保Mingw的bin文件夹包含在环境路径中,最好将mingw32-make.exe更改为make,以简化任务,然后创建一个makefile 并在其中包含这个代码。
all:
gcc -o filename filename.c
./filename
然后保存makefile并打开Vscode Code终端并写入make。然后makefile将被执行。
其他回答
如果它是一个“NMake Makefile”,也就是说语法和命令与NMake兼容,它将在Windows上本机工作。通常Makefile。win (.win后缀)表示它是一个与Windows NMake兼容的makefile。你可以试试nmake -f makefile。win。
通常提供标准的Linux makefile文件,NMake看起来很有前途。但是,下面的链接使用了一个简单的Linux Makefile,并解释了可能遇到的一些基本问题。本文还提出了一些在Windows上处理Linux makefile的替代方法。
Windows中的Makefiles
如果您有Visual Studio,从开始菜单运行Visual Studio命令提示符,切换到包含Makefile的目录。赢得并输入以下内容:
nmake -f Makefile.win
你也可以使用普通的命令提示符并运行vsvars32.bat (c:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools for VS2008)。这将设置运行nmake和查找编译器工具的环境。
我使用MinGW工具集,它提供了mingw32-make构建工具,如果你在PATH系统变量中有它,在Windows命令提示符中进入包含文件的目录并键入以下命令:
mingw32-make -f Makefile.win
做完了。
看看GnuWin的make(适用于windows),它为windows提供了一个本地端口(不需要像Cygwin那样的完整运行时环境)
如果你有winget,你可以像这样通过CLI安装:
winget install GnuWin32.Make
另外,请确保将安装路径添加到您的系统path:
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命令。
推荐文章
- 在没有事件源注册的情况下写入Windows应用程序事件日志
- 如何在Makefile中设置子进程的环境变量
- 如何为调试和发布版本配置makefile ?
- 无法在Windows上从/usr/local/ssl/openssl.cnf加载配置信息
- GIT克隆在windows中跨本地文件系统回购
- 如何运行一个PowerShell脚本而不显示窗口?
- PowerShell:仅为单个命令设置环境变量
- 为什么这个Windows批处理文件只执行第一行,而在命令shell中执行所有三行?
- 环境变量存储在Windows注册表的哪里?
- 有一个好的Valgrind Windows的替代品吗?
- Windows和Linux上的c++编译:ifdef开关
- 如何验证批处理文件中是否存在一个文件?
- XAMPP -端口80被PID 4的“无法打开进程”使用!12
- 为什么git在Windows下记不住我的密码
- Git克隆/拉不断冻结在“存储密钥在缓存?”