Qt5.13使用MYSQL报错:QSqlDatabase: QMYSQL driver not loaded 解决办法

参考文章

QMYSQL driver not loaded 原理及解决方案

Qt: QSqlDatabase: QMYSQL driver not loaded

 在 5.12 及之前的版本中,Qt 的安装包中自带 MySql 驱动,在 plugins/sqldrivers 目录下可以找到,但到了 5.13 之后,MySql 驱动便没有了,这时我们可以选择手动编译。

要编译 MySql 驱动,有两个前提条件:

1.在安装 Qt 时,要一并安装源码(勾选“Sources”组件)。笔者这里使用的是5.13.

2.需要下载 MySql,编译源码时需要用到。MYSQL下载

 下载并解压(不要有中文路径):

这里的“include”和“lib”目录比较重要,它们分别包含了 MySql 的头文件以及相应的库文件,在编译 MySql 驱动时需要用到。

现在进入 Qt 的 MySql 数据库驱动源码目录(例如笔者的是:D:\myQT\5.13.2\Src\qtbase\src\plugins\sqldrivers\mysql),

使用Qt Creator打开 mysql.pro,并进行如下更改:

 MYSQL_PATH为之前下载的mysql-8.0.22-winx64.zip压缩包的解压位置:

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
include(../qsqldriverbase.pri)

DESTDIR = $$PWD/lib
MYSQL_PATH = D:/mysql-8.0.22-winx64
INCLUDEPATH += $${MYSQL_PATH}/include
LIBS += $${MYSQL_PATH}/lib/libmysql.lib

然后进行编译,完成之后,在输出目录下就会生成对应的驱动了:

 将他们拷贝到程序所在的sqldrivers目录(笔者这里是:D:\myQT\5.13.2\mingw73_64\plugins\sqldrivers),就能正常运行了。

 根据这篇文章QMYSQL driver not loaded 原理及解决方案,到这里笔者的问题就解决了,如果还不行,该文章中还有更深入的解决方法。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SOC罗三炮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值