8.在程序中链接动态库

news/2026/1/9 4:52:51/文章来源:https://www.cnblogs.com/r5ett/p/19426249

在cmake中链接动态库的命令如下:
target_link_libraries(
#谁要链接动态库
<PRIVATE|PUBLIC|INTERFACE> ...
[<PRIVATE|PUBLIC|INTERFACE> ...]...)
target:指定要加载的库的文件的名字
该文件可能是一个源文件
该文件可能是一个动态库/静态库文件
该文件可能是一个可执行文件

PRIVATE|PUBLIC|INTERFACE:动态库的访问权限,默认为PUBLIC
PUBLIC:在public后面的库会被Link到前面的target中,并且里面的符号也会被导出,提供给第三方使用。
PRIVATE:在private后面的库仅被link到前面的target中,并且终结掉,第三方不能感知你调了啥库
INTERFACE:在interface后面引入的库不会被链接到前面的target中,只会导出符号。
item:链接的库的名字

动态库的链接具有传递性,如果动态库 A 链接了动态库B、C,动态库D链接了动态库A,此时动态库D相当于也链接了动态库B、C,并可以使用动态库B、C中定义的方法。

cmake_minimum_required(VERSION 3.10.2)
project(test)

aux_source_directory(${PROJECT_SOURCE_DIR}/src SRC) #PROJECT_SOURCE_DIR就是CMakefileLists.txt所在路径

file(GLOB SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp) #CMAKE_CURRENT_SOURCE_DIR就是CMakefileLists.txt所对应的路径
include_directories(${PROJECT_SOURCE_DIR}/include)

set(CMAKE_CXX_STANDARD 11)

link_directories(${CMAKE_CURRENT_SOURCE_DIR}/lib2) #动态库文件路径
add_executable(app ${SRC})
target_link_libraries(app calc)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1118799.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WorkshopDL使用全攻略:轻松下载Steam创意工坊模组

WorkshopDL使用全攻略&#xff1a;轻松下载Steam创意工坊模组 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 还在为无法访问Steam创意工坊的精彩模组而烦恼吗&#xff1f;Work…

打造个人游戏串流中心:Sunshine服务器全方位配置指南

打造个人游戏串流中心&#xff1a;Sunshine服务器全方位配置指南 【免费下载链接】Sunshine Sunshine: Sunshine是一个自托管的游戏流媒体服务器&#xff0c;支持通过Moonlight在各种设备上进行低延迟的游戏串流。 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshin…

Sunshine云游戏服务器终极搭建指南:免费开启跨平台游戏新纪元

Sunshine云游戏服务器终极搭建指南&#xff1a;免费开启跨平台游戏新纪元 【免费下载链接】Sunshine Sunshine: Sunshine是一个自托管的游戏流媒体服务器&#xff0c;支持通过Moonlight在各种设备上进行低延迟的游戏串流。 项目地址: https://gitcode.com/GitHub_Trending/su…

Sunshine游戏串流:打造专属云游戏平台的完整指南

Sunshine游戏串流&#xff1a;打造专属云游戏平台的完整指南 【免费下载链接】Sunshine Sunshine: Sunshine是一个自托管的游戏流媒体服务器&#xff0c;支持通过Moonlight在各种设备上进行低延迟的游戏串流。 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine …

9.在cmake中打印日志信息

在CMake中可以用用户显示一条消息,该命令的名字为message: message([STATUS|WARNING|AUTHOR_WARNING|FATAL_ERROR|SEND_ERROR] "message to display" ...) (无) :重要消息 STATUS :非重要消息 WARNING:…

如何快速上手MOOTDX:Python量化投资的终极入门指南

如何快速上手MOOTDX&#xff1a;Python量化投资的终极入门指南 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx 在量化投资的世界里&#xff0c;数据是一切分析的基石。MOOTDX作为通达信数据接口的…

Apollo Client缓存策略:AI调整Normalized存储结构

Apollo Client缓存策略&#xff1a;AI调整Normalized存储结构 在如今轻量级AI模型加速向边缘设备渗透的背景下&#xff0c;如何让一个仅15亿参数的小型语言模型——比如VibeThinker-1.5B-APP——表现出接近大模型的推理连贯性和响应效率&#xff0c;成了极具挑战又充满机遇的技…

2026马年丽江旅拍TOP5权威榜:雪山古城见证甜蜜,真实口碑+服务实力双测评 - charlieruizvin

2026马年丽江旅拍TOP5权威榜:雪山古城见证甜蜜,真实口碑+服务实力双测评2026马年喜事连连,不少情侣将旅拍目的地锁定丽江——玉龙雪山的圣洁光影、束河古城的青石板路、蓝月谷的澄澈碧波,都是爱情最浪漫的背景板。…

LitElement自定义元素:AI创建高性能Web Component

LitElement自定义元素&#xff1a;AI创建高性能Web Component 在教育科技与开发者工具的交汇点上&#xff0c;一个引人注目的趋势正在浮现&#xff1a;将轻量级AI模型嵌入网页&#xff0c;让智能解题能力像按钮一样即点即用。想象一下&#xff0c;学生在自学微积分时&#xff0…

2026年知名的户外墙体广告,墙体广告公司,全国墙体广告公司用户口碑推荐清单 - 品牌鉴赏师

引言在当今竞争激烈的商业环境中,墙体广告作为一种传统且有效的户外广告形式,凭借其独特的优势,在下沉市场中发挥着重要作用。为了帮助众多企业更精准地选择合适的墙体广告公司,我们依据国内相关行业协会测评权威数…

2026深圳办公选址指南:创业办公楼、企业孵化园区与联合办公室租赁推荐 - 品牌2026

在深圳这座充满活力的创新之都,无论是初创团队、快速成长的中小企业,还是寻求灵活办公模式的自由职业者,都面临着同一个核心问题:如何选择一个既能控制成本、又能赋能业务增长的理想办公空间?传统的单一办公室租赁…

WeMod终极解锁指南:免费获取专业版完整功能

WeMod终极解锁指南&#xff1a;免费获取专业版完整功能 【免费下载链接】Wemod-Patcher WeMod patcher allows you to get some WeMod Pro features absolutely free 项目地址: https://gitcode.com/gh_mirrors/we/Wemod-Patcher 还在为WeMod免费版的限制而困扰吗&#…

刷题日记 2026.1.6 最大子序和

给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。子数组是数组中的一个连续部分。示例 1&#xff1a;输入&#xff1a;nums [-2,1,-3,4,-1,2,1,-5,4] 输出&#xff1a;6 解释…

思源黑体TTF:构建专业级多语言字体解决方案的完整指南

思源黑体TTF&#xff1a;构建专业级多语言字体解决方案的完整指南 【免费下载链接】source-han-sans-ttf A (hinted!) version of Source Han Sans 项目地址: https://gitcode.com/gh_mirrors/so/source-han-sans-ttf 思源黑体TTF版本是一款经过专业hinting优化的多语言…

如何快速掌握Vectorizer:图像矢量化完整指南

如何快速掌握Vectorizer&#xff1a;图像矢量化完整指南 【免费下载链接】vectorizer Potrace based multi-colored raster to vector tracer. Inputs PNG/JPG returns SVG 项目地址: https://gitcode.com/gh_mirrors/ve/vectorizer 在当今数字化设计时代&#xff0c;图…

智能高效!一键完成Chrome浏览器完整网页长截图终极指南

智能高效&#xff01;一键完成Chrome浏览器完整网页长截图终极指南 【免费下载链接】full-page-screen-capture-chrome-extension One-click full page screen captures in Google Chrome 项目地址: https://gitcode.com/gh_mirrors/fu/full-page-screen-capture-chrome-exte…

VSCode终端聊天功能全解析:3步实现团队协作效率翻倍

第一章&#xff1a;VSCode终端聊天功能全解析&#xff1a;开启团队协作新范式Visual Studio Code&#xff08;VSCode&#xff09;作为现代开发者的首选编辑器&#xff0c;其扩展生态不断推动协作开发的边界。近年来&#xff0c;集成于终端的实时聊天功能正悄然改变团队协作模式…

c++ qt开发第一天 hello world

mainwindow.h#ifndef MAINWINDOW_H #define MAINWINDOW_H // 头文件保护宏&#xff0c;防止 mainwindow.h 被重复包含造成重复定义#include <QMainWindow> // 引入 Qt 中的主窗口类 QMainWindowQT_BEGIN_NAMESPACE // Qt 命名空间开始&#xff08;用于兼容 Qt4 / Qt5 / Q…

YuukiPS启动器完全指南:5步搞定原神多账号管理难题

YuukiPS启动器完全指南&#xff1a;5步搞定原神多账号管理难题 【免费下载链接】Launcher-PC 项目地址: https://gitcode.com/gh_mirrors/la/Launcher-PC 还在为原神多账号切换而头疼吗&#xff1f;每次登录退出、重新输入密码的繁琐流程是否让你感到疲惫&#xff1f;&…

Sunshine云游戏终极指南:开启跨设备游戏新时代

Sunshine云游戏终极指南&#xff1a;开启跨设备游戏新时代 【免费下载链接】Sunshine Sunshine: Sunshine是一个自托管的游戏流媒体服务器&#xff0c;支持通过Moonlight在各种设备上进行低延迟的游戏串流。 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine …