/home/ubuntu/catkin_ws1/src/navigation/move_base/src/move_base.cpp:39:43: fatal error: move_base_msgs/RecoveryStatus.h: No such file or directory compilation terminated. navigation/move_base/CMakeFiles/move_base.dir/build.make:62: recipe for target 'navigation/move_base/CMakeFiles/move_base.dir/src/move_base.cpp.o' failed make[2]: *** [navigation/move_base/CMakeFiles/move_base.dir/src/move_base.cpp.o] Error 1 CMakeFiles/Makefile2:13292: recipe for target 'navigation/move_base/CMakeFiles/move_base.dir/all' failed make[1]: *** [navigation/move_base/CMakeFiles/move_base.dir/all] Error 2 Makefile:138: recipe for target 'all' failed make: *** [all] Error 2
时间: 2023-07-30 12:09:20 浏览: 150
这个错误提示与之前是一样的,说明编译器依然无法找到名为 "RecoveryStatus.h" 的头文件。
根据你提供的信息,这个错误是在编译 move_base 软件包时出现的,而这个软件包依赖于 move_base_msgs 软件包,因此可能需要检查一下 move_base_msgs 软件包是否已经正确地安装和配置。
具体来说,你可以尝试执行以下命令:
```
rosmsg show move_base_msgs/RecoveryStatus
```
如果这个命令能够正确地显示出 RecoveryStatus 消息的内容,那么说明 move_base_msgs 软件包已经正确地安装和配置了。
如果这个命令不能正常工作,那么可能需要重新安装 move_base_msgs 软件包,并且确保其安装路径已经正确地添加到 ROS 的搜索路径中。
当然,还有其他可能导致这个错误的原因,如编译器的环境变量设置不正确等,因此需要根据具体情况进行调整。
相关问题
yahboom@Transbot:~/dev/catkin_ws$ catkin_make Base path: /home/yahboom/dev/catkin_ws Source space: /home/yahboom/dev/catkin_ws/src Build space: /home/yahboom/dev/catkin_ws/build Devel space: /home/yahboom/dev/catkin_ws/devel Install space: /home/yahboom/dev/catkin_ws/install #### #### Running command: "make cmake_check_build_system" in "/home/yahboom/dev/catkin_ws/build" #### #### #### Running command: "make -j6 -l6" in "/home/yahboom/dev/catkin_ws/build" ####
这段输出来自 `catkin_make` 命令,它用于编译 ROS packages。在这个例子中,`catkin_make` 在 `/home/yahboom/dev/catkin_ws` 目录下编译 ROS packages。输出中的信息表示:
- Base path: `/home/yahboom/dev/catkin_ws`:`catkin_make` 命令在这个路径下查找 ROS packages 的源代码和 build、devel、install 目录。
- Source space: `/home/yahboom/dev/catkin_ws/src`:ROS packages 的源代码目录。
- Build space: `/home/yahboom/dev/catkin_ws/build`:编译 ROS packages 时生成的中间文件和目标文件目录。
- Devel space: `/home/yahboom/dev/catkin_ws/devel`:编译 ROS packages 后生成的可执行文件和库文件目录。
- Install space: `/home/yahboom/dev/catkin_ws/install`:安装 ROS packages 后生成的可执行文件和库文件目录。
接下来的输出显示了 `catkin_make` 命令运行的步骤。首先运行 `make cmake_check_build_system` 命令检查 build 目录是否存在,以及 build 目录中是否存在 CMakeLists.txt 文件。然后运行 `make -j6 -l6` 命令编译 ROS packages。`-j6` 表示使用 6 个 CPU 核心并行编译,`-l6` 表示在编译过程中限制系统负载不超过 6。
ROS编译时出现In file included from /home/ros/catkin_ctr/build/mavlink/common/../protocol.h:4, from /home/ros/catkin_ctr/build/mavlink/common/common.h:30, from /home/ros/catkin_ctr/build/mavlink/common/mavlink.h:32, from /home/ros/catkin_ctr/src/PX4-Autopilot/src/modules/mavlink/mavlink_bridge_header.h:95, from /home/ros/catkin_ctr/src/PX4-Autopilot/src/modules/mavlink/mavlink_command_sender.h:51, from /home/ros/catkin_ctr/src/PX4-Autopilot/src/modules/mavlink/mavlink_main.h:81, from /home/ros/catkin_ctr/src/PX4-Autopilot/src/modules/mavlink/mavlink_stream.cpp:45: /home/ros/catkin_ctr/build/mavlink/common/../mavlink_types.h:27: error: "MAVLINK_CORE_HEADER_LEN" redefined [-Werror] 27 | #define MAVLINK_CORE_HEADER_LEN 9 ///< Length of core header (of the comm. layer) | compilation terminated due to -Wfatal-errors. cc1plus: all warnings being treated as errors make[2]: *** [PX4-Autopilot/src/modules/mavlink/mavlink_tests/CMakeFiles/modules__mavlink__mavlink_tests.dir/build.make:89:PX4-Autopilot/src/modules/mavlink/mavlink_tests/CMakeFiles/modules__mavlink__mavlink_tests.dir/__/mavlink_stream.cpp.o] 错误 1 make[1]: *** [CMakeFiles/Makefile2:16201:PX4-Autopilot/src/modules/mavlink/mavlink_tests/CMakeFiles/modules__mavlink__mavlink_tests.dir/all] 错误 2 make: *** [Makefile:163:all] 错误 2怎么解决
这个错误是因为在编译过程中,MAVLINK_CORE_HEADER_LEN被重新定义导致的,可以尝试以下方法解决:
1. 更新PX4-Autopilot代码到最新版本。
2. 清除ROS的构建文件,然后重新构建。
3. 检查代码中是否有重复定义MAVLINK_CORE_HEADER_LEN的情况,如果有,需要进行修改。
4. 修改编译选项,禁用-Werror选项,这样编译出现警告时就不会被当作错误处理。
希望这些方法能够帮到你。
阅读全文