先弄明白工作空间:
package里的.msg文件编译后会生成.h文件,并放在devel/include文件夹里
一、检查是否有***.h文件
如果有,就把路径修改成绝对路径
#include “绝对路径/***.h”
如果没有,则是没有编译成***.h头文件
二、没有编译成头文件的解决办法
1.编译了但没有编译成功
更多参考:
052话题通信_自定义msg_实现_Chapter2-ROS通信机制_哔哩哔哩_bilibili
15.服务数据的定义与使用_哔哩哔哩_bilibili
2、没有编译
(情况一)编译A包时,A包有调用B包的头文件,然而我B包还没编译,还没生成头文件。
把A包先移出该工作空间,先编译B包,编译后检查生成了***.h后,再把A包放入,再编译即可。
(情况二)编译A包,A包头文件可在catkin_workspace/devel/include文件夹里,
复制该头文件到catkin_workspace/src/package/include里,再编译
原文参考:
catkin_make编译时fatal error: ###_msgs/***.h: 没有那个文件或目录 – 源码巴士catkin_make编译时fatal error: ###_msgs/***.h: 没有那个文件或目录_catkin_make .srv文件找不到-CSDN博客