我已经用Cmake到达了绳子的尽头; 它有很大的潜力,但我似乎无法让它找到基本的系统工具(即"制造")才能发挥作用.
Cmake和Cmake GUI生成以下内容(删除CMakeCache.txt文件后):
Processing top-level CMakelists.txt for project swb
CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles".
CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.
Run Code Online (Sandbox Code Playgroud)
我正专注于在这个问题中找到"make",但是,我也遇到了很多相同的问题,CMake无法找到库和其他实用程序文件(链接器,nm,ar等).我在下面列出的技术似乎使CMake能够在Linux下运行时找到这些文件.
Windows 7(64位); MinGW的多个版本(32位/ 64位); Cmake 2.8.4; NONSTANDARD为MinGW安装位置(c:/ MinGW-32).
1)CMakelists.txt在文件的前10行中包含"SET(CMAKE_MAKE_PROGRAM c:/MinGW-32/bin/make.exe FORCE)".
2)以前版本的CMakelists.txt包含:
find_program(CMAKE_MAKE_PROGRAM
NAMES make
make.exe
DOC "Find a suitable make program for building under Windows/MinGW"
HINTS c:/MinGW-32/bin )
Run Code Online (Sandbox Code Playgroud)
3)在运行CMake或CMake-GUI之前,在cmd.exe环境变量中设置CMAKE_MAKE_PROGRAM.
4)使用标识CMAKE_MAKE_PROGRAM以及CMAKE_C_COMPILER等的"工具链"文件.
如果我使用GUI填充CMAKE_MAKE_PROGRAM变量("C:/MinGW-32/bin/make.exe"),CMake将成功创建构建文件.
如果我通过GUI识别make程序的名称,我可以让CMake工作.如何让CMake无需用户干预Windows 7(64位)/ MinGW组合即可找到我的make程序?