Qt+MySql遇到的问题总结记录(驱动+打包)

一、使用环境和工具

Qt版本:5.12

mysql版本:5.7.35

平台:windows7

二、所遇到的问题

1、QMYSQL driver not loaded

2、用windeployqt 打包后复制到其他电脑 driver not loaded

三、解决问题

1、根本原因:Qt的sql驱动库缺失mysql的驱动库,可以在该路径下查看 C:\Qt\Qt5.12.6\5.12.6\mingw73_64\plugins\sqldrivers

我们需要做的生成mysql的驱动库,步骤如下:

01、安装mysql数据库(自行安装)

02、找到/安装Qt源码

如果没有可以使用Qt安装文件,再次安装,只选“src”一个选项

03、找到mysql驱动库项目文件

Qt\Qt5.12.2\5.12.2\Src\qtbase\src\plugins\sqldrivers\mysql 

04、打开项目文件,在项目文件中添加mysql动态库路径,并注释到QMAKE_USE+=mysql 不然会报错

TARGET = qsqlmysql

HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp

#QMAKE_USE += mysql

OTHER_FILES += mysql.json

PLUGIN_CLASS_NAME = QMYSQLDriverPlugin

LIBS += -LD:/mysql-5.7.23-winx64/lib/ -llibmysql
INCLUDEPATH += D:/mysql-5.7.23-winx64/include
DEPENDPATH += D:/mysql-5.7.23-winx64/include


include(../qsqldriverbase.pri)

05、编译生成qsqlmysql.dll和qsqlmysqld.dll库文件

文件会生成到该目录下(不按常理出牌)

Qt\Qt5.12.2\5.12.2\Src\qtbase\src\plugins\sqldrivers\plugins\sqldrivers

06、复制该文件到Qt的sqldrivers目录下

C:\Qt\Qt5.12.6\5.12.6\mingw73_64\plugins\sqldrivers

。。。。。到此mysql的驱动库就安装完成。

2、这个只需将mysql安装目录下的libmysql.dll到打包目录下,与exe文件同级即可

四、总结

解决第一个问题时,发现好多文章是将libmysql.dll复制到Qt安装目录的bin文件夹下,回头想这可能是一个误导,或者版本跨度比较大。

对于第一个问题推荐文章https://www.cnblogs.com/szitcast/p/11105899.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值