在新增自己定义的msg中,出现了错误提示:
Could not find messages which
'../my.msg'
depends on. Did you forget to specify generate_messages(DEPENDENCIES ...)?
Cannot locate message [MapMetaData] in package [tf_laser_map]
纠结了一阵子,不知道问题出在哪里。
后来查阅了资料发现,新增msg的时候,需要在msg文件中的变量前面添加对应的功能包,这样catkin_make才能去到指定的位置搜索对应的变量类型,而再回来看看错误提示,也是同样的意思,就是无法定位消息类型MapMetaData在package(此处的package是指自己create的,而不是系统的)中。
解决办法:
在变量类型的前面声明类型所在的功能包:
nav_msgs/MapMetaData
同时,在CMakeList中,需要在生成的消息依赖里面添加需要的依赖的功能包:
generate_messages(
DEPENDENCIES
nav_msgs
)
这样就可以啦。