为什么CMAKE没有找到这些变量?

时间:2018-01-20 17:31:20

标签: c++ qt cmake googletest

我目前正在尝试在Windows中的QT Creator中设置Google Test,但是CMAKE似乎在使用Google提供的CMakeLists.txt时遇到了一些问题。

我得到的第一个错误是:

:-1: error: CMake was unable to find a build program corresponding to "Ninja".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.

我可以通过将set(CMAKE_MAKE_PROGRAM C:/Ninja/ninja.exe)添加到.txt文件来解决这个问题。

然而我收到错误::-1: error: Internal CMake error, TryCompile configure of cmake failed

我在QT中也获得了相当广泛的“一般信息” - 附在本文末尾。

我也尝试过设置:

set(CMAKE_C_COMPILER C:/Qt/Tools/mingw530_32/bin/gcc.exe)
set(CMAKE_CXX_COMPILER C:/Qt/Tools/mingw530_32/bin/g++.exe)

我花了两天时间搜索具有相同/类似问题的人,在SO和各种论坛上找到了。然而,这也没有帮助。有人知道如何正确设置谷歌测试吗?

QT的常规消息可在此处找到:Erorr Message by QT Creator

1 个答案:

答案 0 :(得分:0)

CMake发现的C和C ++编译器与您打算使用的编译器不同(Cygwin而不是MinGW)。

您尝试的错误是缓存已经有C和C ++编译器,您尝试更改它。完全删除您的构建文件夹并遵循错误消息的提议:

CC=C:/Qt/Tools/mingw530_32/bin/gcc.exe CXX=C:/Qt/Tools/mingw530_32/bin/g++.exe cmake.exe -GNinja C:/Users/Username/Desktop/SomeFolder/C++/gtest

应该修复它。 (你通过传递-D CMAKE_C_COMPILER=...的方式也应该有效。)