visual studio生成动态库DLL

visual studio生成动态库DLL

  1. 创建动态库工程

    注意 #include “pch.h” 要放在上面

    完成后点击生成
    在这里插入图片描述

  2. 创建一个控制台项目

在这里插入图片描述

设置项目附加目录为刚才创建的动态库工程Dll1:

在这里插入图片描述

配置附加库目录:

在这里插入图片描述

配置动态库的导入库(.lib:链接器仅记录符号信息,不合并代码,但需要它来解析符号引用。这里的lib文件不是静态库

在这里插入图片描述

右击设置控制台项目为启动项目,然后点击启动就ok了

2025/5/14 补充:

动态库一般会定义一个宏

#ifdef MYLIBRARY_EXPORTS#define MYLIB_API __declspec(dllexport)
#else#define MYLIB_API __declspec(dllimport)
#endif

可以把这个宏放在动态库都需要包含的头文件 “pch.h” 中,让动态库中的每个头文件都可以包含到它。

动态库工程中,在项目属性页,c+±预处理器-预处理定义中,添加这个宏 MYLIBRARY_EXPORTS,在主工程中不添加这个宏,这样就可以使用了。

另外,主工程包含动态库,一般会将动态库的头文件路径配置到主工程的包含目录中,主工程的库目录配置动态库lib文件(动态库导入文件,非静态库文件)所在目录,然后将动态库dll文件放入主工程exe文件所在目录下(否则会报找不到该dll文件)

linux系统中,lib文件和dll文件合二为一变成了so文件,所以只需要将头文件和so文件加入到主工程中就可以了。在windows系统中,一般需要先编译生成动态库文件,再配置主工程的包含目录(一般不把动态库的头文件加入到主工程中),库目录,复制dll库文件到动态库exe文件所在文件夹。

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

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

相关文章

matlab多智能体网络一致性研究

一个基于连续时间多智能体系统(Multi-Agent Systems, MAS)的一阶一致性协议的MATLAB仿真代码,包含网络拓扑建模、一致性协议设计和收敛性分析。代码支持固定拓扑和时变拓扑,适用于学术研究。 1. 基础模型与代码框架 (1) 网络拓扑…

【omnet++】omnet++6.0.3中调用python

版本: omnet 6.0.3 Ubuntu 20.04.6 LTS omnet的installguide中对ubuntu版本是有要求的,找到对应版本下载即可 先安装omnet再安装anaconda omnet 6.0.3安装 别在网上找教程了,官方的installguide手册是最好的。按照手册安装一些依赖包后 so…

【C++】 —— 笔试刷题day_29

一、排序子序列 题目解析 一个数组的连续子序列,如果这个子序列是非递增或者非递减的;这个连续的子序列就是排序子序列。 现在给定一个数组,然后然我们判断这个子序列可以划分成多少个排序子序列。 例如:1 2 3 2 2 1 可以划分成 …

UE RPG游戏开发练手 第二十七课 普通攻击2

UE RPG游戏开发练手 第二十七课 普通攻击2 1. 创建普通攻击的蒙太奇动画 2.打开4个蒙太奇动画,修改插槽为FullBody,修改动画速度 3.编辑动画蓝图,插入FullBody插槽让普通攻击动画得以播放 4. 编辑GA_LightAttack技能蓝图

MySQL——日志

undo log(回滚日志):引擎层生成的日志,实现了事务的原子性,用于事务回滚和MVCC。redo log(重做日志):引擎层生成的日志,实现了事务的持久性,用于非正常关闭的数据恢复。bin log(归档日志):Serve…

QML 动画控制、顺序动画与并行动画

目录 引言相关阅读基础属性说明工程结构示例代码解析示例1:手动控制动画(ControlledAnimation.qml)示例2:顺序动画(SequentialAnimationDemo.qml)示例3:并行动画(ParallelAnimationD…

PowerShell 实现 conda 懒加载

问题 执行命令conda init powershell会在 profile.ps1中添加conda初始化的命令。 即使用户不需要用到conda,也会初始化conda环境,拖慢PowerShell的启动速度。 解决方案 本文展示了如何实现conda的懒加载,默认不加载conda环境,只…

R语言学习--Day03--数据清洗技巧

在一般情况下,我们都是在数据分析的需求前提下去选择使用R语言。而实际上,数据分析里,百分之八十的工作,都是在数据清洗。并不只是我们平时会提到的异常值处理或者是整合格式,更多会涉及到将各种各样的数据整合&#x…

谷歌地图代理 | 使用 HTML 和矢量模式 API 更轻松地创建 Web 地图

在过去的一年里,谷歌对 Maps JavaScript API 进行了两项重要更新,以便更轻松地采用我们最新、最好的地图:HTML 地图和矢量模式 API。今天谷歌地图亚太区最大代理商之一的 Cloud Ace云一 为大家介绍一下更新的具体内容。 联系我们 - Cloud Ac…

WL-G4048 Multi-Port PCIe 4.0 Switch

系列文章目录 文章目录 系列文章目录《WL-G4048 Multi-Port PCIe 4.0 Switch数据手册》总结一、芯片介绍二、芯片规格介绍(一)功能指标(二)管理调试和监控(三)参考时钟(四)系统复位 …

召回11:地理位置召回、作者召回、缓存召回

GeoHash 召回 属于地理位置召回,用户可能对附近发生的事情感兴趣。GeoHash 是一种对经纬度的编码,地图上每个单位矩形的 GeoHash 的前几位是相同的,GeoHash 编码截取前几位后,将相同编码发布的内容按时间顺序(先是时间…

高效批量合并Word文档的工具介绍

软件介绍 本文介绍一款专门用于批量合并Word文档的工具,名为批量合并word工具。 使用方法与特点 如果需要将多个Word文档合并到一个Word文档中,就可以使用这款工具。使用前,需把要合并的Word文档都放在名为“word”的文件夹下。 该软件没有…

机器学习入门之KNN算法和交叉验证与超参数搜索(三)

机器学习入门之KNN算法和交叉验证与超参数搜索(三) 文章目录 机器学习入门之KNN算法和交叉验证与超参数搜索(三)一、KNN算法-分类1. 样本距离判断明可夫斯基距离 2. KNN 算法原理3. KNN 的缺点4. KNN 的 API5. 使用 sklearn 实现 …

小刚说C语言刷题—1700请输出所有的2位数中,含有数字2的整数

1.题目描述 请输出所有的 2 位数中,含有数字 2 的整数有哪些,每行 1个,按照由小到大输出。 比如: 12、20、21、22、23… 都是含有数字 2的整数。 输入 无 输出 按题意要求由小到大输出符合条件的整数,每行 1 个。…

在MYSQL中导入cookbook.sql文件

参考资料: GitHub 项目:svetasmirnova/mysqlcookbook CSDN 博客:https://blog.csdn.net/u011868279/category_11645577.html 建库: mysql> use mysql Reading table information for completion of table and column names …

Scrapy框架下地图爬虫的进度监控与优化策略

1. 引言 在互联网数据采集领域,地图数据爬取是一项常见但具有挑战性的任务。由于地图数据通常具有复杂的结构(如POI点、路径信息、动态加载等),使用传统的爬虫技术可能会遇到效率低下、反爬策略限制、任务进度难以监控等问题。 …

【Win32 API】 lstrcmpA()

作用 比较两个字符字符串(比较区分大小写)。 lstrcmp 函数通过从第一个字符开始检查,若相等,则检查下一个,直到找到不相等或到达字符串的末尾。 函数 int lstrcmpA(LPCSTR lpString1, LPCSTR lpString2); 参数 lpStr…

代码随想录60期day38

2维背包 #include<bits/stdc.h> using namespace std;int main(){int n,bagweight;cin>>n>>bagweight;vector<int>weight(n,0);vector<int>value(n,0);for(int i 0 ; i <n;i){cin>>weight[i];}for(int j 0;j<n;j){cin>>val…

[模型部署] 1. 模型导出

&#x1f44b; 你好&#xff01;这里有实用干货与深度分享✨✨ 若有帮助&#xff0c;欢迎&#xff1a;​ &#x1f44d; 点赞 | ⭐ 收藏 | &#x1f4ac; 评论 | ➕ 关注 &#xff0c;解锁更多精彩&#xff01;​ &#x1f4c1; 收藏专栏即可第一时间获取最新推送&#x1f514;…

mac的Cli为什么输入python3才有用python --version显示无效,pyenv入门笔记,如何查看mac自带的标准库模块

根据你的终端输出&#xff0c;可以得出以下结论&#xff1a; 1. 你的 Mac 当前只有一个 Python 版本 系统默认的 Python 3 位于 /usr/bin/python3&#xff08;这是 macOS 自带的 Python&#xff09;通过 which python3 确认当前使用的就是系统自带的 Pythonbrew list python …