我试图使用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_COMPILER
和CMAKE_CXX_COMPILER
,我不愿意这样做,原因很明显。
您不应该从cmakelist中更改CMAKE_C_COMPILER
和CMAKE_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++