为什么qt没有mysql依赖_Qt找不到Mysql驱动

在Qt 5.12.8中遇到无法连接MySQL数据库的问题,主要是驱动缺失或不匹配。解决方案包括:确保MySQL库与Qt版本一致,并将libmysql.dll放入Qt的bin目录;或者从源码编译MySQL驱动,修改.pro文件,添加包含路径和库文件,构建后将生成的dll文件放入sqldrivers目录,并将libmysql.dll放入bin目录。
摘要由CSDN通过智能技术生成

Qt新安装了个5.12.8发现无法连接Mysql数据库,运行时提示没有Mysql驱动,

首先在程序中添加了代码查看支持的驱动 qDebug() << QSqlDatabase::drivers(),在应用程序输出框中会打印出所有支持的数据库驱动,我解决问题之后现在其中包括QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7等等这几种驱动,下面找不到驱动时就有两种情况了:

一、

⑴其中包括你要连接的数据库Mysql的驱动,在这种情况是是最简单的,你只需要安装一个mysql,mysql版本一定要和Qt运行版本一致,例如32位qt工程用32位的mysql文件,64位的qt工程用64位的mysql文件,否则错误无法解决,然后去mysql安装目录下搜索libmysql.dll;

⑵或者你不想安装mysql,需要自己找资源包括mysql的必要文件,文章底部有我的资源可以供你们下载,或者也可以自己找也可以,然后将压缩包解压之后,找到libmysql.dll;

⑶最后将libmysql.dll拷贝到Qt下的一个指定安装目录下,例如:D:\Qt\Qt5.12.8\mingw73_32\bin目录下即可解决这种情况下的找不到驱动失败情况,如果解决不了一定是mysql的libmysql.dll和qt的版本不对应

二、

⑴列举出支持的数据库之后发现没有mysql,这就有点麻烦了,首先需要安装Qt时将源文件Src安装到本地,因为我们要用到Src里边的工程文件,否则的话还是将Qt卸载重新安装吧,

⑵找到QT安装目录下的mysql工程文件,例如D:\Qt\Qt5.12.8\Src\qtbase\src\plugins\sqldrivers\mysql,在这个目录下会有mysql.pro文件,用qt打开mysql.pro工程文件加载到qt工程中

⑶修改mysql.pro工程文件,将QMAKE_USE+=mysql屏蔽或者删除掉,怎么屏蔽?在行首加#即可,

再添加头文件目录INCLUDEPATH += “mysql安装目录或者解压压缩包后的目录中的include目录”,

添加库库文件LIBS += “mysql安装目录或者解压压缩包后的目录中的lib下的libmysql.lib文件”,

为了方便找到生成的库文件,最后指定输出目录为当前工程目录DESTDIR=…/mysql/lib/

例如:

INCLUDEPATH += “D:\Program Files(x86)\Mysql\mysql-connector-c-6.1.3-win32\include”

LIBS += “D:\Program Files(x86)\Mysql\mysql-connector-c-6.1.3-win32\lib\libmysql.lib”

DESTDIR=…/mysql/lib/

⑷好,现在都添加完毕了,然后构建工程即可,但是构建时你会发现构建失败,会有报错提示,这个没关系,不用管,然后你会发现当前目录下多了一个lib文件夹,里边包含了工程构建出来的四个库文件:libqsqlmysql.a,libqsqlmysql.a,qsqlmysql.dll,qsqlmysqld.dll,

只需要将这两个dll文件拷贝到qt驱动目录(例如:D:\Qt\Qt5.12.8\mingw73_32\plugins\sqldrivers)下,你会发现所有支持的数据库驱动全在这里,

⑸之后情况就跟一相同了,找到libmysql.dll拷贝到D:\Qt\Qt5.12.8\mingw73_32\bin,就可以完美解决问题

Mysql-win32-forQt.zip

https://download.csdn.net/download/only_a_Heroic_car/12695104

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值