编译Cartographer时CMake无法找到cartographer_ros_msgsConfig.cmake报错
Cartographer ROS编译找不到cartographer_ros_msgs配置文件解决方案
该问题核心原因是源码编译的cartographer_ros_msgs安装路径未被CMake识别,或是系统预安装的cartographer_ros_msgs版本与当前源码版本不兼容,可按以下步骤修复:
- 第一步:移除系统预装的冲突版本包
执行命令卸载系统路径下的cartographer相关包,避免版本冲突:sudo apt remove ros-${ROS_DISTRO}-cartographer* -y - 第二步:清理工作空间残留编译缓存
进入你的工作空间根目录,删除所有历史编译产物:cd ~/catkin_ws rm -rf build* devel* install* - 第三步:重新执行全量编译
先加载ROS基础环境,再执行编译命令,显式指定CMake优先查找本地工作空间的安装路径:source /opt/ros/${ROS_DISTRO}/setup.bash catkin_make_isolated --install --use-ninja --cmake-args -DCMAKE_PREFIX_PATH="${PWD}/install_isolated:${CMAKE_PREFIX_PATH}" - 第四步:验证编译结果
编译完成后加载工作空间环境变量,确认无报错即可:source install_isolated/setup.bash
如果仍存在编译错误,可在完成cartographer_ros_msgs的独立编译后,先执行source devel_isolated/setup.bash加载已编译的消息包环境,再继续编译cartographer_ros包即可。
内容的提问来源于stack exchange,提问作者Josyula Krishna
相关产品推荐
相关产品推荐

