编译moveit2_tutorials时遇gz_sim_vendor未找到的CMake错误
解决编译moveit2_tutorials时gz_sim_vendor找不到的CMake错误
核心问题
编译gz_ros2_control包时,CMake无法定位gz_sim_vendor的配置文件,导致编译失败。
解决步骤
确认依赖仓库存在
gz_sim_vendor属于ros_gz项目的一部分,需确保该仓库已克隆到你的colcon工作空间的src目录:cd ~/your_workspace/src git clone https://github.com/gazebosim/ros_gz.git -b <你的ROS2版本分支>比如ROS 2 Humble对应
humble分支,Iron对应iron分支,需匹配你的系统版本。正确设置环境变量
编译前确保source了ROS 2和工作空间的setup文件:source /opt/ros/<你的ROS2版本>/setup.bash source ~/your_workspace/install/setup.bash尝试安装二进制包
对于Debian/Ubuntu系统,可直接安装预编译的gz_sim_vendor包:sudo apt install ros-<你的ROS2版本>-gz-sim-vendor清理缓存后重新编译
先清理之前的CMake缓存,避免残留配置干扰:colcon clean --cmake-cache优先编译
gz_sim_vendor及相关依赖,再编译整个工作空间:colcon build --packages-select gz_sim_vendor ros_gz colcon build --mixin release手动指定CMake路径(兜底方案)
如果上述方法无效,手动指定gz_sim_vendor的配置文件路径:colcon build --mixin release --cmake-args -Dgz_sim_vendor_DIR=~/your_workspace/install/gz_sim_vendor/share/gz_sim_vendor/cmake
内容的提问来源于stack exchange,提问作者Muhid
相关产品推荐
相关产品推荐

