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

相关推荐
2401_868534781 天前
RTOS之RT-Thread & Linux:线程/进程管理与调度核心差异分析
c++·python
ltl1 天前
纠删码原理与存储效率
linux
ltl1 天前
MinIO 原理和架构:机制、AGPL 与上游 archived 风险
linux
林浩杨_1 天前
linux搜索命令(grep+sed)
linux·命令模式
郝学胜-神的一滴1 天前
Qt 高级编程 040:按钮悬浮弹出滑块弹窗的完整攻略
开发语言·c++·qt·软件工程·用户界面
W.W.H.1 天前
将驱动编译成模块并安装到rootfs
linux·物联网·wifi·rootfs·驱动
ltl1 天前
io_uring 在生产环境翻车实录:内核 bug、资源泄漏和你不知道的限制
linux
ltl1 天前
内存分配器擂台:jemalloc vs tcmalloc vs mimalloc vs glibc
linux
ltl1 天前
Zero Copy 的肮脏秘密:在什么时候反而更慢
linux
数据知道1 天前
宽字节注入、二次注入、堆叠注入:高级 SQLi 专题
linux·运维·安全·网络安全