最近在使用过程中,遇到一个问题:
我在程序包A中定义了一个myClass,然后在程序包B中想用到。这个问题后来在ROS论坛中找到一个解决方法,原网址
主要来说分为两步,分别在程序包A和B中。
第一步:
先将myClass相关文件编译成库,如:add_library(myClass src/myClass.cpp)
然后在程序包A的package.xml文件中,<export>部分添加:
<export>
<!-- Other tools can request additional information be placed here -->
<cpp cflags="-I${prefix}/include" lflags="-L${prefix}/lib -lmyClass"/>
</export>
第二步:
在B程序包中添加相应的include目录,然后生成的库或可执行文件时链接myClass
然后再在B的package.xml中添加以下:
<build_depend>myClass</build_depend>
然后编译就没问题了。