You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu22.04下ROS2 Humble编译px4_ros_com包遇Colcon Build错误

解决ROS2 Humble编译px4_ros_com时的CMake目标导出错误

我在ROS2 Humble环境下编译px4_ros_com包,严格遵循PX4官方教程操作,但执行colcon build编译时触发以下错误:

CMake Error at /home/XXXX/px4_ros_com_ros2/install/px4_msgs/share/px4_msgs/cmake/ament_cmake_export_targets-extras.cmake:18 (message):
  Failed to find exported target names in
  '/home/XXXX/px4_ros_com_ros2/install/px4_msgs/share/px4_msgs/cmake/export_px4_msgs__rosidl_generator_cExport.cmake'
Call Stack (most recent call first):
  /home/XXXX/px4_ros_com_ros2/install/px4_msgs/share/px4_msgs/cmake/px4_msgsConfig.cmake:41 (include)
  CMakeLists.txt:24 (find_package)

已确认以下配置无误:

  • Fast-RTPS-Gen版本为1.0.4
  • Java版本为11.0.17
  • ROS2环境已正确source

可行解决方法:

  1. 单独编译px4_msgs包
    优先确保px4_msgs的导出目标文件生成完整,单独编译该包:

    colcon build --packages-select px4_msgs
    

    编译完成后重新加载工作空间环境:

    source install/setup.bash
    

    再尝试编译px4_ros_com:

    colcon build --packages-select px4_ros_com
    
  2. 清理缓存后从头编译
    删除已生成的build、install、log目录,彻底清理编译缓存:

    rm -rf build install log
    

    随后重新编译目标包:

    colcon build --packages-select px4_msgs px4_ros_com
    
  3. 检查px4_msgs的CMake配置
    确认px4_msgs的CMakeLists.txt中包含正确的rosidl生成器配置,示例如下:

    find_package(rosidl_default_generators REQUIRED)
    rosidl_generate_interfaces(${PROJECT_NAME}
      "msg/ExampleMsg.msg"
      # 其他消息/服务定义文件
      DEPENDENCIES builtin_interfaces
    )
    

    确保ament相关的导出配置没有缺失。

  4. 验证Fast-RTPS-Gen环境变量
    确认Fast-RTPS-Gen的bin目录已添加到系统PATH:

    export PATH=$PATH:/your/path/to/Fast-RTPS-Gen/bin
    

    替换为实际安装路径后,重新source环境再执行编译。

内容的提问来源于stack exchange,提问作者DeCarabas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 05:45:30