添加一个自定义ROS包作为对另一个ROS包的依赖



我是ROS的新手,所以很抱歉,如果这是显而易见的。我有多个ROS包,目前我使用符号链接将它们链接到我的catkin工作区。我现在想做的是使用一个CMakeList来调用和构建所需的ROS包。我有不同的ROS操作作为包存储在一个文件夹中,我将主文件夹链接到工作区,我可以构建它。我甚至可以单独链接每个ROS操作目录并构建它。但是当我在主cmake文件中使用add_子目录时,我想调用,它给了我一个错误,catkin应该在package.xml中被列为buildtool依赖项,它是。

我当前的文件夹结构是这样的

catkin_ws
--build
--devel
--logs
--src
--ros_actions
--action1
--include
--src
--CMakeLists.txt
--package.xml
--action2
--include
--src
--CMakeLists.txt
--package.xml
--main_file
--config
--launch
--include
--src
--CMakeLists.txt
--package.xml

和我想要的

catkin_ws
--build
--devel
--logs
--src
--main_file
--actions
--action1
--include
--src
--CMakeLists.txt
--package.xml
--action2
--include
--src
--CMakeLists.txt
--package.xml
--config
--launch
--include
--src
--CMakeLists.txt
--package.xml

我试过添加"ros_action "执行CMakelistinclude_directoriesfind_package函数,但失败。是否有一种方法可以将自定义ROS包作为依赖项添加到另一个包?

提前谢谢你。

您想要的可能是一个元包

否则,您可以将所有内容保持在同一级别,并在package.xml文件中指定依赖项。

文件夹结构:

my_ws/
build
devel
main_package/
src/
package.xml
CMakeLists.txt
library_1/
src/
package.xml
CMakeLists.txt
library_2/
src/
package.xml
CMakeLists.txt

最新更新