Qt 连接Mysql win10

2 篇文章 0 订阅

        这个绝对是个大坑啊,都说Qt5.5自带了mysql的驱动。的确是带mysql 的驱动,可是他还是QSqlDatabase: QMYSQL driver not loaded。于是我们还是老实的自己编译吧。

1、首先安装好mysql(不会安装的点我安装32位的mysql,不要问我什么,因为这是坑)和qt。

注意:mysql 的 安装路径中不能有空格,别问我为什么,因为Qt不让有空格啊。

2、在开始菜单打开qt的命令终端:

Note:有人会问要不要配置环境变量,我只能说看你心情(=>就是不需要).

3、比如Qt的安装目录为D:\DevelopmentTools\Qt\,输入以下命令:

cd D:\DevelopmentTools\Qt\5.5\Src\qtbase\src\plugins\sqldrivers\mysql
于是我们进入了这个目录下。

4、重新编译qt驱动:

      我mysql的安装目录为D:\DevelopmentTools\mysql\Sever,于是我们输入以下命令:

qmake "INCLUDEPATH += D:\DevelopmentTools\mysql\Sever\include" "LIBS += D:\DevelopmentTools\mysql\Sever\lib\libmysql.lib" -o Makefile mysql.pro

完成之后,我们继续输入命令:

mingw32-make
注意:1、如果出现一大堆的错误,比如找不到#include <mysql.h>等等了,这就是你的qmake 后面的路径包含空格了,在好好检查一下吧。

            2、如果出现类似这样的错误:

collect2.exe: error: ld returned 1 exit status
Makefile.Release:81: recipe for target '..\..\..\..\plugins\sqldrivers\qsqlmysql.dll' failed
mingw32-make[1]: *** [..\..\..\..\plugins\sqldrivers\qsqlmysql.dll] Error 1
mingw32-make[1]: Leaving directory 'D:/DevelopmentTools/Qt/5.5/Src/qtbase/src/plugins/sqldrivers/mysql'
makefile:38: recipe for target 'release-all' failed
mingw32-make: *** [release-all] Error 2
       这就是qt编译mysql驱动的坑所在,因为你安装的是64位的mysql为qt的编译为32位的,所以出错了。这时我们只需重装一个32位的mysql,就可以了。

5、重新配置mysql驱动

     成功编译mysql驱动之后,在D:\DevelopmentTools\Qt\5.5\Src\qtbase\plugins\sqldrivers目录下,会生成4个文件。我们将文件夹下的qsqlmysql.dll  和 qsqlmysqld.dll 复制到D:\DevelopmentTools\Qt\5.5\mingw492_32\plugins\sqldrivers目录下。(根据自己实际安装qt的目录去定位目录)

    最后我们将D:\DevelopmentTools\mysql\Sever\lib\libmysql.dll复制到C:\Windows目录下,这时重启你的qt,你就发现一切正常了。


提示QSqlDatabase: QMYSQL driver not loaded 有可能一开始就是因为你的mysql版本是64位的,所以我们可以先装成32位的试试看,不行的话,我们在编译。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值