在学习ros服务时,我是在按照官网上的教程,一步一步的创建服务文件时,可是还是出现这样的问题,我就很纳闷,最后一步一步排查出问题了(可能这是官网的一个bug)
解决办法
写好srv文件后需要在CmakeList.txt中添加 以下几个东西:
一、message_generation
find_package(catkin REQUIRED COMPONENTS … message_generation)
二、add_service_files(FILES Person.srv)
三、generate_messages(DEPENDENCIES std_msgs )
这句一定不能少 !
我就是忘记了这一句话导致生成srv.h失败(官网上并没有这一步,所以我才报错,个人怀疑这是官网教程的一个bug)
四、去掉这一行注释:catkin_package( CATKIN_DEPENDS …)
我发现好像不需要注释这一行好像也行,不知道为什么,不过不管它,都加上吧,多多益善嘛(调皮)
五、在package.xml中添加以下依赖。
<build_depend>message_generation</build_depend>
<exec_depend>message_runtime</exec_depend>
以上是我个人遇到的一些小问题,如果帮助到大家了,多多评论关注我!!!