Ubuntu 24下CMAKE_CXX_COMPILER路径错误,如何全局修正?
让CMake全局指向系统默认编译器的解决办法
临时应急(单次构建生效)
直接在cmake命令里指定编译器路径,比如:
cmake -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++ ../your-project-source
把../your-project-source换成你实际的项目源码目录路径。
全局永久配置(所有CMake项目自动生效)
- 创建CMake的全局配置目录和文件:
mkdir -p ~/.config/cmake nano ~/.config/cmake/CMakeLists.txt - 在打开的文件里写入以下内容:
按set(CMAKE_C_COMPILER "/usr/bin/gcc" CACHE PATH "Default C compiler") set(CMAKE_CXX_COMPILER "/usr/bin/g++" CACHE PATH "Default C++ compiler")Ctrl+O保存,Ctrl+X退出编辑器。 - 之后所有新的CMake构建都会自动使用系统默认的gcc/g++。
必须清理旧CMake缓存
如果之前已经在项目目录跑过cmake,旧缓存会保留错误的编译器路径,必须删掉:
进入项目的build目录(或者源码目录下有CMakeCache.txt的地方),执行:
rm -rf CMakeCache.txt CMakeFiles/
然后再重新运行cmake即可。
验证系统编译器路径
先确认系统里gcc/g++的位置是否正确:
which gcc which g++
正常输出应该是/usr/bin/gcc和/usr/bin/g++,如果不是,重新安装build-essential:
sudo apt update && sudo apt install --reinstall build-essential
内容的提问来源于stack exchange,提问作者Omroth
相关产品推荐
相关产品推荐

