您可以在带有子文件夹的ROS C ++软件包中构造include文件夹吗?

问题描述

我目前有一些C ++库,我想使用catkin工作区在ROS中实现和构建。到目前为止,我的方法是让每个库成为自己的程序包,但是最近我遇到了程序包循环依赖的问题。我解决此问题的方法是在单个程序包中实现这些库,但是我不知何故希望将这些库分开,因此我想知道是否可以为带有子文件夹的ROS c ++程序包的include文件夹构建结构?

这个主意看起来像这样


--catkin_ws
  --src
    --my_package
      --include
        --library_1
          someheaderfile.h
        --library_2
          someotherheaderfile.h
            ..
      --src
        --library_1
          somecppfile.cpp
        --library_2
          someothercppfile.cpp
      CMakelists.txt
      package.xml

我想我的主要关注点在于打破适当编译所需的柳絮结构。

谢谢!

解决方法

已解决:

只要您按照此处介绍的指南正确构建CMakeLists.txt:http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_libraries.html,并且子目录位于include/my_package/之内,一切正常。