关于解决Qt MySql没有QMYSQL驱动文件的问题详解

解决Window10 Qt MySql没有QMYSQL Not Driver Loaded的问题详解

由于前段时间自己开发一个工具需要使用到MYSQL数据库,进行一系列的数据库操作,因为是新手,动手之前就习惯性的到网上先查阅了部分相关资料,然后就迫不及待的敲代码了,以为我能一气呵成,谁知道连接MYSQL服务器的时候总是提示没有QMYSQL驱动文件!网上找了很多说是要拷贝MySql Lib目录下的libmysql.dll和libmysql.lib两个文件至Qt根目录编译器的bin目录下和plugins/sqldrivers目录下,但是我一直未成功!感觉很多教程都写得不太详细,尤其是我们这种新手有点摸不着头脑了,时隔多日(这个事情就这样放了几天没有去琢磨),就在前天终于发现问题所在之处,我的是因为我这个qt版本默认是没有提供编译好的mysql驱动文件,我只能打开官方写好的源码进行编译,最终正常连接MySql数据库,不好意思我废话确实有点多,详细请继续往下看;

一、使用的工具及系统环境信息

系 统:windows10 专业版 (本地)
开发工具:Qt5.12.6 (本地)
编译器:MinGW_64 (本地)
数据库:MySql5.7(安装在远程服务器上)
(我的Qt安装目录:D:\QtCreator)如下图:在这里插入图片描述

二、 详细步骤

第一步:
(请先检查你的qt目录里的编译器bin目录里是否存在libmysql.dll文件,如果有请忽略这一步)
从远程服务器内拷贝MySQL安装目录下的lib里的libmysql.dll文件;
《图一》:
插入图片描述直接复制到本地的Qt目录的\bin目录和\plugins\sqldrivers这两个目录如下图:
在这里插入图片描述

在这里插入图片描述如果按照上一步(第一步)操作Qt还提示没有驱动!请继续往下看
第二步:
从远程服务器上拷贝MYSQL安装目录下的include目录至本地电脑(我喜欢放置本地电脑桌面)及远程服务器mysql目录bin目录下的libmysql.dlllibmysql.lib( 注意我是在本地电脑桌面新建了一个mysql的目录把libmysql.dlllibmysql.lib放置该目录下)如图:

远程服务器MYSQL安装目录
本地电脑
在这里插入图片描述
打开Qt Creator界面 -->open project->选择mysql.por文件(注意文件路径为:D:\QtCreator\5.12.6\Src\qtbase\src\plugins\sqldrivers\mysql)如图:
在这里插入图片描述

在左上侧的项目框里点击打开mysql.pro文件;并且修改mysql.por文件具体如图:在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后点击Qt Creator左下侧的构建按钮编译MYSQL的连接时需要的驱动文件,编译成功后会在我的D盘下(也就是我安装Qt的那个盘)生成三个目录,在这里插入图片描述
然后复制D:\plugins\sqldrivers\的两个文件至到D:\QtCreator\5.12.6\mingw73_64\plugins\sqldrivers里表演到这就大功告成了。
在这里插入图片描述
在这里插入图片描述
注意的是如果你的MYSQL是64位你使用的Qt就必须是64位的编译器,反之3
2位的Mysql你就必须使用32位的编译器。

总结

据我所知连接MYSQL数据库如果报找不到QMYSQL驱动的问题就是:QT安装目录的编译器目录下的bin目录及\plugins\sqldrivers却是缺少libmysql.dll或者qsqlmysql.dll和qsqlmysqld.dll文件。后两个文件是编译官方msyql的源文件所得到的。

补充点

本人也是第一次写博客每个字都是纯手打的希望各位老铁多点赞👍,有想一起学C++的加个好友!后期一起努力学习天天向上!希望大神勿喷,可能和我一样的小白希望看到我这样的博客。

  • 24
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 18
    评论
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Super Blaze

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值