我正在尝试使用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_COMPILER
和CMAKE_CXX_COMPILER
,我是因为显而易见的原因而厌恶做。我尝试安装ccache,但这没有效果。
答案 0 :(得分:2)
您不应该从CMakeLists中更改CMAKE_C_COMPILER
和CMAKE_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++