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

相关推荐
磊 子9 分钟前
STL之deque和list以及两者与vector的对比
开发语言·c++·list
郝学胜_神的一滴13 分钟前
CMake 012:Linux 下动态库与可执行程序的单文件构建
c++·cmake
小poop21 分钟前
操作符详解:从入门到精通
c++
山上三树24 分钟前
C/C++ 高频报错速查表(开发通用版)
c语言·开发语言·c++
Tian_Hang31 分钟前
Factory Method | 工厂方法
开发语言·c++
慵懒的猫mi36 分钟前
deepin 25部署x11vnc+xrdp,实现vnc和mstsc双重访问
linux·windows·开源软件·deepin
elseif1231 小时前
【C++】vector 详细版
开发语言·c++·算法
剑神一笑1 小时前
Linux lsof 命令深度解析:从文件描述符到进程追踪
linux·运维·php
cany10002 小时前
C++ -- 原子变量
c++
andlbds2 小时前
解决Ubuntu20.04进入系统卡死在厂商Logo界面问题
linux·ubuntu