target_include_directories与target_link_directories

文章介绍了在CMake中如何使用target_include_directories和target_link_libraries命令来管理项目间的头文件引用和库依赖。当一个工程依赖另一个工程时,可以通过设置PUBLIC、PRIVATE和INTERFACE属性来控制头文件目录的可见性,确保依赖的模块及其关联头文件能正确被包含。同时,使用INSTALL_INTERFACE和BUILD_INTERFACE可以指定编译时和安装后的头文件路径。

参考官网:
https://cmake.org/cmake/help/latest/command/target_include_directories.html

存在两个工程的时候,如果A工程引用B工程,且A工程的的文件引用了B工程的头文件,而B工程本身的头文件也是有其他引用。这时候,不希望在A工程内还要小心翼翼的把B工程内的各种关联头文件的路径这些还要指定一遍,因为这个在B工程肯定已经做了。
希望的就是A工程只要用到了B工程的某个模块,那么这个模块的关联的头文件、库,都可以自动的被包含进来,A工程只需要指定,依赖这个模块即可。

对于头文件来说,target_include_directories这个指令就可以达到解决头文件的路径的引用问题。

如有一个算法模块:

#########  ---- app -------- #####
add_library(algorithm 
SHARED
               app/algorithm.cpp
)           

target_link_libraries(algorithm
inner_A_module
inner_B_module
)
target_include_directories(map_fusion
    PUBLIC
    ${CMAKE_CURRENT_SOURCE_DIR}/src/
    
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值