关于windows下Qt报告“QMYSQL driver not loaded”的解决办法

先说明一句,博主这个帖子的解决办法是用MariaDB试验的,其实跟mysql是一回事,所以帖子里都说的是mysql如何如何,请大家理解。

首先,出现这个问题有三种可能:

1.qt找不到你的mysql的驱动。
      先去你的Qt的安装目录(例:D:\Qt\Qt5.8.0\5.8\mingw53_32\plugins\sqldrivers)下找找看有没有mysql的驱动

      驱动的名字为“qsqlmysql.dll”和“qsqlmysqld.dll”

      如果能找到这两个文件,那么恭喜你,不需要自己去编译生成这两个驱动文件了

      如果去文件夹里找不到这两个文件,那您受累,继续往下看帖子

      好,这种可能性先说到这里

2.qt目录下有驱动文件,但是qt找不到mysql的库文件

     库的文件名为“libmysql.lib”,这个库文件应该放在Qt的bin文件夹下(例:D:\Qt\Qt5.8.0\5.8\mingw53_32\bin)

     赶紧去文件夹里看看,十有八九没有啊,怎么办呢?

     别愁了,去你mysql的安装目录找找,在lib文件夹里(什么?你没有安装mysql!一边玩去!!!)

     回来回来,如果你真的没有安装mysql,其实也没事,博主就是安装的xmapp,因此也找不到这个库。所以,要么赶紧安装mysql,要么像楼主一样查清楚自己的mysql的版本库,赶紧去官网上下个压缩包回来吧(不要下载源码包,因为博主当时用源码包试的时候缺一个头文件,也不知道是为什么)。


我用的就是这个。

来来来,这里有个重点哈,楼主因为这个问题被搞了一整天寝食难安,注意注意:下载mysql的时候一定记得先看看你的Qt是32位的还是64位的,两个软件必须一致,要不然,你就跟博主一样各种版本的mysql下一堆吧!!!唔哈哈哈哈!!!

      好的,下好了吧,去找到那个该死的库文件,复制到qt的bin目录下,到这一步,你应该已经ok了

3.qt目录下既没有驱动文件,也没有库文件

      那好吧,你的工作量最大了

      先下载安装mysql(如果装了就不用了),或者你有别的软件让你的机器已经运行了mysql,那就跟第二点里面说的一样,下一个压缩包回来吧。再次强调,看看你的Qt是32位还是64位,下个一致的包吧,千万别搞错了!!!

      接下来就是自己动手编译mysql的驱动了,就是那两个dll文件。

      编译有两种方法,一种是mysql提供的用命令去编译的方法,在帮助文档里可以查到,我就不多说,截个图吧:


      下面的方法是来自于网友的帖子的,这里冒昧引用一下,大家要是不喜欢我这种借花献佛的行为就请移步原帖:

       http://blog.csdn.net/m15814478834/article/details/49902077

       这里介绍的是使用Qtcreater编译的方法:

       首先找到Qt安装目录下的mysql.pro工程源码,我的路径为:D:\Qt\Qt5.8.0\5.8\Src\qtbase\src\plugins\sqldrivers\mysql,用Qt打开该工程,试着进行构建,一般来说,Qt会告诉你找不到mysql.h文件,这时候不要慌,去你的mysql安装目录下或者刚下载的压缩包里找找,找到include文件夹(例:D:\mariadb-10.1.19-win32\include\mysql),你就可以找到“mysql.h”文件了,这时候去修改mysql.pro文件,添加一句话“INCLUDEPATH+=D:\mariadb-10.1.19-win32\include\mysql”,就是为该工程包含存放mysql.h的路径

      这时再去构建工程,刚才的错误不见了,新的错误出现:提示你找不到libmysql.lib文件,还是不要慌张,还是去找这个文件,还是在mysql安装路径或者刚下载的压缩包里,就在lib文件夹中(例:D:\mariadb-10.1.19-win32\lib),在mysql.pro文件中添加一句话“LIBS+=-LD:\mariadb-10.1.19-win32\lib-llibmysql”(-L后边写文件路径,-l后写文件名,不需要后缀名)

      然后赶紧去重新构建工程吧,你自己制作的驱动文件就搞定啦。怎么样,开心吧,激动吧!呜哈哈哈!

      先不要着急开心,把两个驱动文件(“qsqlmysql.dll”和“qsqlmysqld.dll”)复制到Qt的安装目录下的drivers文件夹中(例:D:\Qt\Qt5.8.0\5.8\mingw53_32\plugins\sqldrivers),再将libmysql.lib文件复制到Qt的bin文件夹中,再去构建你报错的工程吧,恭喜你,你搞定了!!!

 


  • 11
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值