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

相关推荐
路人甲ing..14 小时前
Ubuntu 怎么把树莓派内存卡备份制作成为镜像
linux·运维·ubuntu
獭.獭.15 小时前
Linux -- 线程互斥
linux·互斥锁·mutex·互斥量·线程互斥
Broken Arrows15 小时前
排查网络问题的一些工具的作用和常用使用方法
linux·网络·学习
撒币使我快乐16 小时前
Windows安装Claude Code全流程
linux·windows·claude
爱凤的小光16 小时前
图漾GM461-E1相机专栏
c++
longerxin202016 小时前
ubuntu所有版本镜像下载链接
linux·运维·ubuntu
数据雕塑家16 小时前
Linux下的花式「隔空」文件传输魔法
linux·运维·服务器
uoscn16 小时前
链接脚本(Linker Scripts)
linux·arm开发·arm
qwepoilkjasd17 小时前
C++智能指针介绍
c++
·白小白17 小时前
力扣(LeetCode) ——43.字符串相乘(C++)
c++·leetcode