CMake想要使用ccache而不是gcc

时间:2013-04-30 10:19:59

标签: gcc cmake ccache

我正在尝试使用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这样做,除非在CMakeLists.txt中硬编码CMAKE_C_COMPILERCMAKE_CXX_COMPILER,我是因为显而易见的原因而厌恶做。我尝试安装ccache,但这没有效果。

2 个答案:

答案 0 :(得分:2)

您不应该从CMakeLists中更改CMAKE_C_COMPILERCMAKE_CXX_COMPILER。相反,你应该在第一次运行CMake时在命令行给它们:

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

请注意,第一次运行CMake后此值无效!因此,如果要切换到其他编译器,则必须删除CMake缓存或切换到新的构建目录。

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

答案 1 :(得分:0)

查看您的环境变量:

echo $CC
echo $CXX

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

$ export CC=/usr/bin/gcc
$ export CXX=/usr/bin/g++