你能用子文件夹在 ROS C++ 包中构造 include 文件夹吗?

Can you structure the include folder in a ROS C++ Package with subfolders?

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

这个想法看起来像这样


--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/ 内,一切正常。