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

相关推荐
铅笔小新z5 分钟前
【C++】从理论到实践:类和对象完全指南(上)
开发语言·c++
YongCheng_Liang7 分钟前
openEuler 22.03 LTS 部署 ELK(Elasticsearch+Logstash+Kibana)完整教程
linux·运维·elk·elasticsearch
go_bai26 分钟前
Linux-线程
linux·开发语言·c++·经验分享·笔记
清浅儿33 分钟前
Linux权限知识点
linux·运维·服务器
代码AC不AC33 分钟前
【C++】智能指针
c++·智能指针
kyle~38 分钟前
Linux---文件控制<fcntl.h> (file control, fcntl)
linux·运维·服务器
zzzsde41 分钟前
【C++】二叉搜索树
开发语言·c++
落日漫游42 分钟前
Ansible变量全解析:优化自动化流程的关键
linux·服务器·网络
头发还没掉光光1 小时前
Linux多线程之自旋锁与读写锁
linux·运维·算法
无限进步_1 小时前
C语言atoi函数实现详解:从基础到优化
c语言·开发语言·c++·git·后端·github·visual studio