QT 5.10连接MySQL出现QSqlDatabase: QMYSQL driver not loaded

 在使用QT 5.10进行MySQL数据库相关的开发时,出现了如下的报错:

QSqlDatabase: QMYSQL driver not loaded

解决方法:

链接:https://pan.baidu.com/s/13sN1gEDaRXRBmYqXREVXxQ 
提取码:mr6g

下在好后将对应版本的libmysql.dll文件放入到对应编译器bin目录下

QT安装目录\Qt5.10.0\5.10.0\mingw53_32\bin

       我的工程使用的是MinGW_32来编译的,所以放在这个目录下,实际情况根据工程编译器自行更改文件的位置。

重要说明:

        网上很多的教程都是数据库libmysql.dll没放,但是我在代码中加入如下代码查看当前版本支持的数据库,发现这个版本的QT其实是支持MySQL的。

qDebug() << QSqlDatabase::drivers();//查看支持数据库驱动

运行结果:

        上下非常的矛盾,既说我没有驱动,又说我驱动支持。经过一些列的查阅资料。找到了问题所在:

支持的数据库是在如下路径里

QT安装目录\Qt5.10.0\5.10.0\mingw53_32\plugins\sqldrivers

        这里面包含了MinGW编译器(编译器不同可能文件也不同)支持的数据库的dll文件,只有这里有文件,使用

        qDebug() << QSqlDatabase::drivers();

时才能显示出来支持的数据库。

        最重要的来了,如果要使用MySQL数据库,这里面的qsqlmysql.dllqsqlmysqld.dlllibmysql.dll必须保持位数和支持版本的一致性,这也是为什么网上很多的教程只把libmysql.dll文件放到bin目录下仍然无法连接数据库。

        QT 5.04版本经测试将libmysql.dll文件放入后也可使用。(推测中间的版本应该都可用,未验证)

        QT 5.12以上取消了官方对MySQL的支持,要采用编译的方式生成这三个文件。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值