【发布时间】:2020-04-08 18:40:32
【问题描述】:
在this post 之后,如果我在我的build 文件夹中运行cmake .. 而没有任何选项,我会收到错误消息:
我可以通过运行来解决
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. Here 是代码。
P.S.2.我试过了
set(CMAKE_MAKE_PROGRAM /mingw64/bin/mingw32-makemingw32-make CACHE FILEPATH "" FORCE)
按照 cmets 的建议,但没有帮助。
P.S.3.我的操作系统是Windows 10 version 1909,我在MSYS2终端MSYS_NT-10.0-18363运行上面的命令
【问题讨论】:
-
在这个答案中:Why doesn't "CMAKE_MAKE_PROGRAM" variable take effect?,看到您需要将
CMAKE_MAKE_PROGRAM设置为 cache 变量,而不是常规的 CMake 变量。 -
@squareskittles 我试过
set(CMAKE_MAKE_PROGRAM mingw32-make CACHE FILEPATH "" FORCE),但没有用。 -
您所说的“它不起作用”是什么意思?您是否收到与问题帖子中显示的相同的错误消息?此外,为安全起见,设置此变量时,您应该使用 make 程序的 完整 路径。
-
@squareskittles 是的,完全相同的错误。我也尝试了完整路径。请参阅 P.S.2。
-
这个错误很特殊。你能提供一些关于你的开发环境的背景信息吗?您使用的是什么操作系统?您使用的 MinGW 路径似乎是 Unix 路径?这是为什么呢?