Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Makefile 做出奇怪的行为_Makefile_Cmake_Mingw_Msys - Fatal编程技术网

Makefile 做出奇怪的行为

Makefile 做出奇怪的行为,makefile,cmake,mingw,msys,Makefile,Cmake,Mingw,Msys,使用CMake生成Makefile后,我在MSYS中运行: msys>make 它在msys中启动了cmd.exe,并启动了新的make.exe进程,但没有执行任何操作。 这不是一个单一的案例——我尝试用CMake构建的每个项目都会导致这个陷阱。 怎么了?CMake认为MSYS和MinGW makefiles不一样。在本例中,我用于生成MSYS makefiles。如果您想使用MinGW编译器,我建议您使用MinGW shell提示符而不是MS cmd.exe。这可以确保正确设置多个Mi

使用CMake生成Makefile后,我在MSYS中运行:

msys>make
它在msys中启动了cmd.exe,并启动了新的make.exe进程,但没有执行任何操作。 这不是一个单一的案例——我尝试用CMake构建的每个项目都会导致这个陷阱。
怎么了?

CMake认为MSYS和MinGW makefiles不一样。在本例中,我用于生成MSYS makefiles。

如果您想使用MinGW编译器,我建议您使用MinGW shell提示符而不是MS cmd.exe。这可以确保正确设置多个MinGW编译器特定的环境变量

然后使用MinGW makefile作为生成器,使用mingw32 make作为make程序

如果使用MSYS,则必须使用MSYS Makefiles,如果安装正确,则应将make程序称为simply make


如果生成MinGW makefile并调用make,则会调用错误的make程序。明确指定mingw32 make。

MinGW不是MSYS,甚至在CMake上下文之外。只需在MSYS之外构建CMake项目。它也会跑得更快。