如何修复 ROS fatal error: ros/console.h: No such file or directory
问题
你正在尝试 colcon build 一个 ROS 库或项目,但你看到以下错误日志:
ros_console_error.txt
In file included from /home/user/message_logger/build/message_logger/include/message_logger/log/log_messages_backend_config.hpp:61,
from /home/user/message_logger/include/message_logger/log/log_messages_backend.hpp:46,
from /home/user/message_logger/include/message_logger/log/log_messages.hpp:44,
from /home/user/message_logger/include/message_logger/message_logger.hpp:43,
from /home/user/message_logger/src/demo.cpp:6:
/home/user/message_logger/include/message_logger/log/log_messages_ros.hpp:43:10: fatal error: ros/console.h: No such file or directory
43 | #include <ros/console.h>
| ^~~~~~~~~~~~~~~
compilation terminated.
gmake[2]: *** [CMakeFiles/demo.dir/build.make:76: CMakeFiles/demo.dir/src/demo.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:185: CMakeFiles/demo.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....
gmake: *** [Makefile:146: all] Error 2解决方案
目前,在撰写本文时,ros-console 包在官方 ROS2 apt 仓库中不可用。
因此,我建议你克隆仓库,使用 colcon 构建它,然后在构建你的包之前 source install/setup.bash。
build_rosconsole.sh
git clone https://github.com/ros/rosconsole
cd rosconsole
colcon build
source install/setup.bash之后(在同一个 shell 中),再次使用 colcon build 构建你的其他包。
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow