我正在尝试构建我的自定义ROS服务。它们在另一个父包中其结构如下:
|--catkine_ws
| |--src
| | |--Parent
| | | |--CMakeLists.txt
| | | |--package.xml
| | | |--ChildA
| | | | |--CMakeLists.txt
| | | | |--package.xml
| | | | |--srv
| | | | | |--SomeService.srv
| | | |--ChildB
这些包构建正确,我可以在其他节点和包中使用它们。然而,当我尝试使用rossrv list
时,自定义服务不会出现。我认为,当我试图构建Simulink控制器时,它找不到服务消息定义,这会导致一些问题。
有人知道发生了什么事吗?
我能够解决这个问题,虽然不明显,但解决方案相当简单。我不得不稍微改变包的结构,使父包成为元包,然后进行一些处理,以确保子包仍然可以访问cmake来定位我的外部包。