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

相关推荐
真的想上岸啊6 分钟前
1、全志h616板子介绍
linux
2401_890443026 分钟前
Linux线程概念与控制
linux
wdfk_prog12 分钟前
[Linux]学习笔记系列 --[drivers][base]map
linux·笔记·学习
石像鬼₧魂石39 分钟前
Windows Server 2003 域控制器靶机搭建与渗透环境配置手册
linux·windows·学习
RisunJan42 分钟前
Linux命令-killall(根据进程名称来终止一个或多个进程)
linux·运维·服务器
小-黯1 小时前
Linux桌面入口文件.desktop文件内容格式
linux·运维·服务器
oioihoii1 小时前
回归测试:软件演进中的质量守护神与实践全指南
c++
CheungChunChiu2 小时前
Flutter 在嵌入式开发的策略与生态
linux·flutter·opengl
十五年专注C++开发2 小时前
CMake基础: 在release模式下生成调试信息的方法
linux·c++·windows·cmake·跨平台构建
不会代码的小猴2 小时前
Linux环境编程第三天笔记
linux·笔记