Mysql 动态链接库配置步骤+ 完成封装init和close接口

1、创建新项目 动态链接库dll

 2、将附带的文件都删除,创建LXMysql.cpp

 3、项目设置

3.1、预编译头,不使用预编译头

3.2、添加头文件

3.3、添加类

3.4、写初始化函数

4、项目配置

4.1、右键解决方案-属性-常规-输出目录 ..\..\bin

4.2、生成lib文件  右键解决方案-链接器-高级-导入库..\..\lib\

4.3、运行之后可以看到 bin目录下生成dll文件

但是lib目录生成失败,解决  在class类里面添加一个导出__declspec(dllexport)

可以看到已经有啦

4.4、测试一下

 5、创建执行项目test_LXMysql,右击解决方案,添加新建项目,位置在与LXMysql一样,将项目创建在同一个解决方案当中

6、设置启动项目,项目依赖项

 7、引入LXMysql.h,发现报错

7.1、解决:

点击test_LXMysql解决方案的属性,最好存放位置在一起,维护起来比较方便。更改c/C++附加包含目录为..\LXMysql,

如果不对的话,直接编辑路径,找到自己的LXMysql,**必须是LXMysql.cpp的上一个目录

7.2、 预编译头,不使用预编译头

7.3、生成一个对象,

7.3.1、点击运行--报错 找不到Init函数,原因是库没有引用

 问题解决: 点击test_LXMysql的解决方案,点击属性-链接器-附加库目录..\lib

 点击属性-链接器-输入-附加依赖项 LXMysql.lib

 7.3.2、报错,找不到LXMysql.dll文件

解决: 点击test_LXMysql的解决方案,点击属性-常规-输出目录 ..\bin

 点击test_LXMysql的解决方案,点击属性-调试-工作目录 ..\lib

7.4、点击执行,运行成功

8、如果到这里还不对的话

 如果还报错点的话 ,头文件有问题,因为在LXMysql里面是__declspec(dllexport),但是在test_LXMysql里面需要import。windows动态链接库的问题,同一个文件得区分谁调用的

解决:定义一个宏

***这个问题在vs2022里面没有出现,大家如果出现的话就改一下如果可以直接运行,就不用改了。

8.1、如果还报错,将常规下的输出目录也改成..\bin

9、总结: 

在每个程序编译的时候都有三个错误

9.1、找不到头文件的错误

                解决:定义一个宏

9.2、 找不到定义的错误,函数库没有引用 (找lib文件)

9.3、执行错误 (找dll文件)输出路径

10、测试Ini 和close接口

 

 

10.1 执行,运行成功

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

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

相关文章

【LeetCode:11. 盛最多水的容器 | 双指针】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

Spring Cloud + Vue前后端分离-第9章 大文件断点续与极速秒传

源代码在GitHub - 629y/course: Spring Cloud Vue前后端分离-在线课程 ​​​​​​Spring Cloud Vue前后端分离-第9章 大文件断点续与极速秒传 作为一个视频网站,一个文件小则几十M,大则上G,上传一个大文件受网络影响很大,文…

MySQL8.0安装教程

Mysql安装教程 1.Mysql下载 进入官网https://www.mysql.com/进行下载: 2.Mysql安装 双击文件进行安装,选择默认安装方式: 这里列出了五种安装类型: Developer Default:默认安装类型;Server only&#x…

第九周:AI应用产品体验

前言:由于转AI的过程是一个时间相对比较紧的任务,所以从一开始准备就需要陆续体验一些AI技术落地的应用产品,结合技术和产品以及市场情况对AI技术细节和应用落地情况有更加深入的了解。宏观的看一下各行业的典型代表作,以及国外和…

解析为什么Go语言要使用[]rune而不是string来表示中文字符

众所周知,Go语言中有以下这些数据类型。但rune32这个go语言特有的数据类型,比较有意思却经常遭到忽视。所以今天探索学习一下这个数据类型的功能、用法。 Go基本数据类型 布尔:bool 字符串:string 整数: int int8 …

分布式基础概念

分布式基础概念 1 微服务 微服务架构风格,就像是把一个单独的应用程序开发为一套小服务,每个小服务运行在自己的进程中,并使用轻量级机制通信,通常是HTTP API。这些服务围绕业务能力来构建,并通过完全自动化部署机制…

年度征文|回顾2023我的CSDN

一年转眼而逝,回顾这一年在csdn的创作,学习,记录历程。回顾过去,才能展望未来,首先看图说话。 今年在csdn的访问量已由年初的2万到年末的50w。粉丝有年初的300个左右,增加到4000个左右。我年初的目标是粉丝…

高分青海中心完成积石山6.2级地震(青海区域)卫星遥感数据与技术支撑工作

2023年12月18日23时59分,甘肃临夏州积石山县发生6.2级地震,青海省部分地区有明显震感,海东市民和县、化隆县、循化县出现不同程度人员伤亡和房屋受损情况。地震发生后,高分青海中心在国家航天局对地观测与数据中心的大力支持与紧急…

VSCode上远程调试代码出现的问题

记录一下: 真的是汗流浃背了,师妹叫帮忙如何在VSCode上远程调试代码,一些自己已经经历过的问题,现在已经忘记了。又在网上一顿搜索,这次记录下吧。。。 出现以下问题: 1. 终端界面总是sh-4.4 $ &#xff…

Navicat 技术干货 | 如何查看关系型数据库(MySQL、PostgreSQL、SQL Server、 Oracle)查询的运行时间

在数据库优化中,理解和监控查询运行时间是至关重要的。无论你是数据库管理员、开发人员或是参与性能调优的人员,知道如何查看查询运行时间能为你的数据库操作提供有价值的参考。本文中,我们将探索几款热门的关系数据库(如 MySQL、…

力扣刷题-二叉树-验证二叉搜索树

98.验证二叉搜索树 给定一个二叉树,判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。 思路 中序遍历下&…

2024第一篇: 架构师成神之路总结,你值得拥有

大家好,我是冰河~~ 很多小伙伴问我进大厂到底需要怎样的技术能力,经过几天的思考和总结,终于梳理出一份相对比较完整的技能清单,小伙伴们可以对照清单提前准备相关的技能,在平时的工作中注意积累和总结。 只要在平时…