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

构建Autoware.Universe Docker镜像时tf2_geometry_msgs缺失错误求助

解决tf2_geometry_msgs头文件缺失问题

针对你在构建Autoware.Universe Docker镜像时遇到的fatal error: tf2_geometry_msgs/tf2_geometry_msgs.hpp: No such file or directory错误,以下是几个排查和修复方向:

1. 确保构建时加载了ROS环境

apt安装的ROS包的头文件路径不会自动加入CMake的搜索路径,必须显式加载ROS环境脚本。在Dockerfile中执行colcon build前,一定要先source Galactic的setup脚本:

# 替换成你的Autoware工作空间路径
RUN cd /autoware_ws && /bin/bash -c "source /opt/ros/galactic/setup.bash && colcon build --symlink-install"

避免直接用RUN colcon build,因为单独的RUN命令不会继承之前的环境变量。

2. 验证包是否安装完整

有时候apt安装可能因网络问题导致包不完整,先在Dockerfile中添加验证步骤,确认头文件存在:

RUN dpkg -L ros-galactic-tf2-geometry-msgs | grep tf2_geometry_msgs.hpp

如果没有输出,说明包未正确安装,执行重新安装:

RUN apt-get update && apt-get install --reinstall -y ros-galactic-tf2-geometry-msgs

3. 检查Autoware源码的依赖配置

如果错误来自Autoware源码中的某个包,需要确认对应包的CMakeLists.txt是否正确声明了依赖:

  • 必须包含find_package(tf2_geometry_msgs REQUIRED)
  • 在ament_target_dependencies中添加tf2_geometry_msgs作为依赖项
  • 确保include_directories包含${tf2_geometry_msgs_INCLUDE_DIRS}

另外,建议在构建前运行rosdep安装所有Autoware依赖,避免遗漏:

RUN cd /autoware_ws && rosdep install --from-paths src --ignore-src -y --rosdistro galactic

4. 检查工作空间的构建顺序(如果有源码包混合的情况)

如果你在工作空间中同时有源码版和apt版的tf2相关包,CMake可能优先搜索源码路径导致问题。这种情况下,确保apt版的包被优先识别,或者移除工作空间中重复的源码包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 11:27:20