QT

Qt5高版本默认不支持mysql驱动的解决方案

Posted by Smile on February 22, 2021

QT 5 高版本没有MySQL和MySQL3数据库驱动(QSqlDatabase: QMYSQL driver not loaded)

原因:由于MySQL逐渐商业化,QT高版本停止了对MySQL的默认支持,QT高版本只对完全开源的数据库提供默认支持。

Qt版本:5.14.2

MySQL版本:5.7.31 winx64

qDebug输出默认支持的数据库驱动

image-20210222164142967

image-20210222164313879

解决方案:

1.————————————————————————————————

打开mysql安装目录下的lib文件夹,复制libmysql.dlllibmysql.lib

image-20210222164522944

2.————————————————————————————————

将其粘贴到Qt编译所使用的编译器中(注:数据库为64位只能复制到64位的编译器文件夹中),我这里有很多编译器,我的mysql是64位版本的,选择一个64位编译器文件夹复制进其bin目录下

image-20210222164746772

image-20210222164846770

image-20210222164936195

3.————————————————————————————————

找到Qt安装目录下的数据库驱动中的mysql文件夹,双击mysql.pro打开(注:最好不要把这个文件夹拷出去,因为要用到很多文件,单拷出去一个文件夹容易出错,事后可以恢复修改,并把运行项目生成的build文件夹删除

image-20210222165102345

image-20210222165140861

4.————————————————————————————————

编辑mysql.pro文件

image-20210222165437450

5.————————————————————————————————

启动项目,会弹出一个Custom Executable窗口,直接点击Cancel即可

6.————————————————————————————————

到驱动生成的目录下,选择qsqlmysql.dllqsqlmysqld.dll,这两个就是mysql的驱动文件,将其复制粘贴到Qt的编译器文件夹下的数据库驱动文件夹下(sqldrivers)

image-20210222165819250

image-20210222165858432

7.————————————————————————————————

再次运行此前的项目

image-20210222170024705

已解决QT不支持MySQL数据库事务的问题