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]表示库文件没有后缀的名字,默认情况下库依赖是传递的

 

posted on 2022-07-21 08:39  Manuel  阅读(804)  评论(0编辑  收藏  举报