编译ros_gz包的时候,ros_ign_bridge一直报错,最开始都已经放弃了,但是今天发现不得不跑,唉,一直报:fatal error: mav_msgs/Actuators.h: 没有那个文件或目录。
#include <mav_msgs/Actuators.h>
^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
知道是因为这个头文件的问题,但是网上没怎么找到解决的办法啊
报错提示:
终于让我找到个帖子,说是可以下载mav_msgs:https://github.com/ethz-asl/mav_comm/
(非常感谢!!!迈向成功的第一步)
git clone https://github.com/ethz-asl/mav_comm.git
下载后发现只有Actuators.msg文件,没有.h文件,猜想应该是要编译生成
但是之前都没有过自己编译.msg成.h的经验,有点不晓得如何编译,找了些.msg编译成.h的帖子,发现都没具体说,后来抱着试试看的心理输入了chatgpt…
感觉还真可以试试,于是将mav_msgs文件夹放入到src文件夹后,运行catkin_make
,结果真的成功了(原来chatgpt真的不只会一本正经胡说八道,有时候给的建议真可以参考参考)
最后将整个mav_msgs文件移到相应头文件夹下就可以了,我的是/opt/ros/melodic/include/
移动命令:sudo cp -r mav_msgs /opt/ros/melodic/include
编译 ros_gz 成功
话说之前还有个iostream头文件报错,但是mav_msgs/Actuators.h解决后,其他报错也消失了。
今天在一台新电脑上重新跑这个代码,又出现了一个新错误,再记录一下
fatal error: gflags/gflags.h:没有那个文件或目录
解决方法:sudo apt-get install libgflags-dev
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)