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

相关推荐
能源革命2 小时前
Ubuntu_24.04 安装OpenClaw教程
linux·ubuntu
星火开发设计2 小时前
序列式容器:deque 双端队列的适用场景
java·开发语言·jvm·c++·知识
LYS_06183 小时前
c++学习(1)(编译过程)
c++·学习
特种加菲猫3 小时前
C++核心语法入门:从命名空间到nullptr的全面解析
开发语言·c++
浮生09193 小时前
DHUOJ 基础 85 86 87
数据结构·c++·算法
laocui13 小时前
树莓派Ubuntu系统安装openclow(豆包+QQ机器人)
linux·运维·ubuntu
CHANG_THE_WORLD3 小时前
C++指针与引用:从语法到底层的全面剖析
java·数据结构·c++
HAPPY酷3 小时前
Visual Studio C++ 项目“添加现有项“避坑指南
java·c++·visual studio
qq_24218863323 小时前
快速搭建跨环境检测服务的步骤
linux·开发语言·windows·python·macos
Trouvaille ~4 小时前
【Linux】网络进阶:NAT技术与代理服务器详解
linux·运维·网络·nginx·ip·nat·代理服务器