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

相关推荐
小赵不会秃头8 分钟前
数据结构Day 06:线性结构、库操作及 Makefile 完整学习笔记
java·linux·数据结构·算法·面试
雨田大大9 分钟前
Windows11下IDEA运行后端时,端口被占用的解决方法
linux·运维·服务器
music score10 分钟前
google 的C++自动化测试框架详解(Google Test)(2)
c++·qt·lucene
IKun-bug12 分钟前
CentOS 7 安装 Claude Code 指南
linux·运维·centos
charlie11451419116 分钟前
基于开源项目的现代C++实战——OnceCallback 实战(五):then 链式组合
开发语言·c++·开源
kdxiaojie18 分钟前
U-Boot分析【学习笔记】(8)
linux·笔记·学习
Shan120518 分钟前
在C++中尝试封装为函数
开发语言·c++·算法
风曦Kisaki22 分钟前
# Linux运维Day02:LNMP架构部署、动静分离原理、Nginx地址重写、systemd服务管理
linux·运维·架构
Shadow(⊙o⊙)22 分钟前
Linux进程地址空间——钻入Linux内核架构性剖析 硬核手搓!
java·linux·运维·服务器·开发语言·c++
大明者省22 分钟前
乌邦托服务器系统www不同文件夹bird、infra建立隔离的虚拟环境
linux·运维·服务器