Mysql 动态链接库配置步骤+ 完成封装init和close接口
2024-01-03 11:31:37
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 执行,运行成功
?
文章来源:https://blog.csdn.net/wjl990316fddwjl/article/details/135357755
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!