QSqlDatabase: QMYSQL driver not loaded 解决方法(debug下正常,release下报错)

环境:

QT 5.11

Mysql 5.5

MSVC 2015 编译器

以上全为64位

症状为:

Debug下连接数据库正常,Release下连接数据库失败

提示如下:

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

 

注意,这种情况下根本就不需要手动编译Mysql driver,因为Qt5.2版本后已经自带了

按网上说的各种方法,到处粘贴dll,包括exe同级目录下,还有main下添加

QApplication::addLibraryPath("./plugins");

等...以及FQ查看了各种方法,折腾一上午统统无效。

最后解决方案:

在MySQL官网https://dev.mysql.com/downloads/connector/c/

下载mysql-connector-c

(mysql-connector-c-6.1.11-winx64.msi)

安装,然后在Qt项目中 .qrc 文件添加

INCLUDEPATH += $$quote(C:\Program Files\MySQL\MySQL Connector C 6.1\include)
LIBS += -L$$"C:\Program Files\MySQL\MySQL Connector C 6.1\lib"

清除,重新qmake,构建,打开发现依然失败,而debug下还是成功。

辗转无果,最后删除项目的release文件夹,重新release下构建,运行,成功。

然后打包发布,把connector文件夹里的libmysql.dll复制,粘贴到exe同级目录下,运行,一切正常。

可以开心地玩耍Qt了。

转载于:https://www.cnblogs.com/seanliao/p/9128702.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值