CMake 3.10.2构建报错:C/C++编译器未设置问题咨询
这个问题我碰到过好多次,核心原因就是CMake没法定位到你配置的编译器路径,或者环境变量里的路径压根不对。咱们一步步来排查解决:
1. 先确认指定的编译器路径是否存在
你报错里说CMake找不到/usr/local/bin/gcc,先验证这个路径是不是真的有文件:
ls /usr/local/bin/gcc
如果返回No such file or directory,说明路径错了。用下面的命令找到系统里实际的gcc路径:
which gcc # 或者用 whereis gcc 看更详细的位置
通常系统自带的gcc会在/usr/bin/gcc这个位置。
2. 临时指定编译器运行CMake
不想改环境变量的话,直接在cmake命令里明确指定C和C++编译器就行:
cmake . -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++
记得把路径换成你刚才查到的实际路径。
3. 检查并修正CC/CXX环境变量
如果你之前手动设置过CC环境变量,可能路径配置错了。先看看当前值:
echo $CC
如果显示的是错误的/usr/local/bin/gcc,先把它清空:
unset CC
然后再重新运行cmake .,CMake会自动搜索系统里已安装的编译器。要是想永久设置正确的环境变量,把下面两行加到你的~/.bashrc(或者~/.zshrc,看你用的shell)里:
export CC=/usr/bin/gcc export CXX=/usr/bin/g++
保存后执行source ~/.bashrc让配置生效。
4. 确认是否安装了编译器
要是上面的步骤都没用,可能系统里压根没装gcc/g++。Ubuntu/Debian系可以用下面的命令安装编译工具包:
sudo apt update && sudo apt install build-essential
这个包会自动安装gcc、g++和其他编译需要的基础工具。
你的报错信息如下:
XXXXXX@XXXXX:~/XXXXX$ cmake .
CMake Error at /usr/share/cmake-3.10/Modules/CMakeDetermineCCompiler.cmake:48 (message):
Could not find compiler set in environment variable CC: /usr/local/bin/gcc.
Call Stack (most recent call first):
CMakeLists.txt:3 (project)
CMake Error...
内容的提问来源于stack exchange,提问作者zython




