cmake 链接动态库命令

cmake 链接动态库命令

链接动态库命令

bash 复制代码
target_link_libraries(<target> <PRIVATE|PUBLIC|INTERFACE> <item>)
eg:
target_link_libraries(A B C) #B 和 C 被链接到A中

target:指定要加载动态库的文件的名字,该文件可以是一个源文件,动态库,可执行文件

<PRIVATE|PUBLIC|INTERFACE> item: <PRIVATE|PUBLIC|INTERFACE>设置动态库的访问权限,默认是PUBLIC: item 指的是链接的动态库的名称。

PUBLIC:在public后面的库会被link到前面的 target 中,并且里面的符号也会被导出,提供给第三方使用;

PRIVATE:在private后面的库仅会被link到前面的 target 中;

INTERFACE:在interface后面的库不会被link到前面的 target 中,只会导出符号;

动态库的链接具有传递性,如果动态库 A 链接动态库 B、C,动态库 D 链接动态库 A,此时动态库D也相当于链接动态库 B 和 C,并可以使用动态库B、C中定义的方法。

(动态链接库写在 cmakelists 的最后边,先生成后链接)

相关推荐
阿班d几秒前
4444444
c++
Kratzdisteln2 分钟前
【linux】
linux·运维·服务器
阿豪只会阿巴3 分钟前
项目心得——发布者和订阅者问题解决思路
linux·开发语言·笔记·python·ubuntu·ros2
Elieal8 分钟前
常用的 Linux 命令
linux·运维·服务器
C.L.L9 分钟前
Linux中capslock+实现——input-remapper
linux
linweidong10 分钟前
C++如何避免 ODR(One Definition Rule)冲突?
java·jvm·c++
朔北之忘 Clancy11 分钟前
第二章 分支结构程序设计(3)
c++·算法·青少年编程·竞赛·教材·考级·讲义
装不满的克莱因瓶14 分钟前
【2026最新 架构环境安装篇三】Docker安装RabbitMQ4.x详细教程
linux·运维·docker·容器·架构·rabbitmq
uoKent21 分钟前
构造析构综合练习
c++
音无八重23 分钟前
Linux(Ubuntu)下无法连接ppa.launchpadcontent.net的解决方法
linux·运维·ubuntu