https://blog.csdn.net/z1872385/article/details/124832965
A功能包需要调用B功能包的头文件
在B功能包CMakeLists.txt中修改
去掉catkin_package中的include注释。(让别人能识别到自己的头文件)
A功能包在find_package时能识别到B功能包中include目录下的头文件
去掉include_directoris中include的注释**(让自己能够识别到自己的头文件)指定头文件搜索路径**
A功能包的修改pacage.xml中,添加B功能包依赖
A功能包CMakeList.txt 中修改,find_package 中添加B功能包
catkin_package 和 include_directories中是否取消include前的#根据情况判断
如果A共嫩包中没有include文件夹则不需要取消,因为没有头文件可供别人或自己去识别
------------------------------------------
知识填充
add_library
j将指定的源文件生成链接文件,添加到工程中。
库文件的名字,一般会根据命令列出来的源文件创建,也可指定名字
source 1 source2 表示各个源文件
link_directories
指定要连接的库文件路径,不一定需要。因为find_package和find_library可以得到库文件的绝对路径
target_link_librares
将目标文件与库文件进行链接
<target>指通过add_executable()和add_library指令生成已经创建的目标文件。
[item1]表示库文件没有后缀的名字,默认情况下库依赖是传递的