从CMakeLists.txt内部将CMAKE_MAKE_PROGRAM设置为mingw32 MAKE



在这篇文章之后,如果我在build文件夹中运行cmake ..而没有任何选项,我会得到错误:

CMake错误:CMake无法找到对应于"Unix Makefiles"的构建程序。未设置CMAKE_MAKE_PROGRAM。您可能需要选择不同的构建工具。CMake错误:在EnableLanguage之后未设置CMake_Fortran_COMPILERCMake错误:在EnableLanguage之后未设置CMake_C_COMPILERCMake错误:在EnableLanguage之后未设置CMake_CXX_COMPILER--配置不完整,出现错误

我可以通过运行来解决

cmake .. -D CMAKE_MAKE_PROGRAM:PATH=/mingw64/bin/mingw32-make

但是,我想从CMakeLists.txt文件内部设置CMAKE_MAKE_PROGRAM。我试过

if(MSYS)
set(CMAKE_MAKE_PROGRAM /mingw64/bin/mingw32-make)
endif(MSYS)

但它不起作用。如果你能帮我知道如何解决这个问题,我将不胜感激。

p.S.1.这是代码。

p.S.2.我试过

set(CMAKE_MAKE_PROGRAM /mingw64/bin/mingw32-makemingw32-make CACHE FILEPATH "" FORCE)

正如评论中所建议的那样,但这无济于事。

p.S.3.我的操作系统是Windows 10 1909版本,我正在MSYS2终端MSYS_NT-10.0-18363中运行上述命令

好的,我想我解决了这个问题。从这里开始,我需要安装MSYS2的make:

pacman -S make

这似乎也是我的一个趋势。我最近在MSYS2中遇到了几个问题,通过删除MinGW包并用MSYS2包替换它,这些问题得到了解决。所以它告诉我,当在MSYS2内部工作时,如果MSYS2包可用,我应该更喜欢它们。

最新更新