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 的最后边,先生成后链接)

相关推荐
naruto_lnq3 小时前
分布式系统安全通信
开发语言·c++·算法
天才奇男子3 小时前
HAProxy高级功能全解析
linux·运维·服务器·微服务·云原生
学嵌入式的小杨同学3 小时前
【Linux 封神之路】信号编程全解析:从信号基础到 MP3 播放器实战(含核心 API 与避坑指南)
java·linux·c语言·开发语言·vscode·vim·ux
酥暮沐4 小时前
iscsi部署网络存储
linux·网络·存储·iscsi
❀͜͡傀儡师4 小时前
centos 7部署dns服务器
linux·服务器·centos·dns
Dying.Light4 小时前
Linux部署问题
linux·运维·服务器
S19014 小时前
Linux的常用指令
linux·运维·服务器
小义_5 小时前
【RH134知识点问答题】第7章 管理基本存储
linux·运维·服务器
CSDN_RTKLIB5 小时前
【四个场景测试】源文件编码UTF-8 BOM
c++
梁洪飞5 小时前
内核的schedule和SMP多核处理器启动协议
linux·arm开发·嵌入式硬件·arm