CMake想用ccache代替gcc



我试图使用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上的build-essential),但我不能阻止cmake这样做,除了在CMakeLists.txt中硬编码CMAKE_C_COMPILERCMAKE_CXX_COMPILER,我不愿意这样做,原因很明显。

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

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

注意,这个值在第一次运行CMake之后没有效果!因此,如果你想切换到不同的编译器,你要么必须删除CMake缓存,要么切换到一个新的构建目录。

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

看看您的环境变量:

echo $CC
echo $CXX

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

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

相关内容

  • 没有找到相关文章

最新更新