ROS1环境catkin_make报错CMAKE_C_COMPILER路径不存在如何解决?
Ubuntu ROS1环境catkin_make编译器路径报错解决方案
- 第一步:清空历史编译缓存
修改CMakeLists不生效的核心原因是首次编译生成的CMakeCache.txt已经存储了错误的编译器路径,该缓存优先级高于CMakeLists中的变量设置。先进入ROS工作空间根目录,删除已生成的编译产物:
rm -rf build/ devel/
- 第二步:编译时显式指定编译器路径
直接在catkin_make命令中传入编译器参数,该参数优先级最高,可直接覆盖默认查找逻辑:
catkin_make -DCMAKE_C_COMPILER=/usr/bin/cc -DCMAKE_CXX_COMPILER=/usr/bin/g++
- 第三步:修复无效软链接(若上述步骤仍报错)
检查错误路径下的cc是否为失效软链接:
ls -l /usr/local/bin/cc
如果输出显示该文件指向不存在的路径,直接删除无效软链接即可,系统会自动优先调用/usr/bin下的编译器:
sudo rm /usr/local/bin/cc
- 第四步:校正系统编译器默认配置(可选)
如果需要永久修正cc的默认指向,可通过update-alternatives配置:
sudo update-alternatives --config cc
在弹出的选项中选择/usr/bin/cc对应的序号回车即可。
内容的提问来源于stack exchange,提问作者Akash
相关产品推荐
相关产品推荐

