1

我正在尝试使用CMake在 Ubuntu 上编译 C++ 项目,但出现此错误:

CMake Error: your C compiler: "/usr/lib64/ccache/bin/gcc" was not found.   Please set CMAKE_C_COMPILER to a valid compiler path or name.
CMake Error: your CXX compiler: "/usr/lib64/ccache/bin/c++" was not found.   Please set CMAKE_CXX_COMPILER to a valid compiler path or name.

我已经安装了 gcc 和所有东西(在 Ubuntu 上构建必需),但我无法阻止 cmake 这样做,除非通过硬编码CMAKE_C_COMPILERCMAKE_CXX_COMPILER在 CMakeLists.txt 中,因为显而易见的原因我不愿意这样做。我尝试安装 ccache,但没有效果。

4

2 回答 2

3

您不应该在 CMakeLists 中进行CMAKE_C_COMPILER更改CMAKE_CXX_COMPILER。相反,您应该在第一次运行 CMake 时在命令行中提供它们:

cmake -D CMAKE_CXX_COMPILER=/path/to/g++ ..

请注意,第一次运行 CMake 后,此值无效!因此,如果您想切换到不同的编译器,您将不得不删除 CMake 缓存或切换到新的构建目录。

另一方面,不必为后续的 CMake 运行指定这个冗长的选项当然也可以节省大量的输入。

于 2013-04-30T13:26:51.317 回答
0

看看你的环境变量:

echo $CC
echo $CXX

如果它们为空,请尝试将它们设置为指向 gcc:

$ export CC=/usr/bin/gcc
$ export CXX=/usr/bin/g++
于 2013-04-30T12:44:31.697 回答