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

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

由于前段时间自己开发一个工具需要使用到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 MySql没有QMYSQL驱动文件的问题详解

二、 详细步骤

第一步:
(请先检查你的qt目录里的一下两个文件路径是否存在libmysql.dll文件)
从远程服务器内拷贝MySQL安装目录下的lib里的libmysql.dll文件;
《图一》:
关于解决Qt MySql没有QMYSQL驱动文件的问题详解直接复制到本地的Qt目录的\bin目录和\plugins\sqldrivers这两个目录如下图:
关于解决Qt MySql没有QMYSQL驱动文件的问题详解

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

关于解决Qt MySql没有QMYSQL驱动文件的问题详解
关于解决Qt MySql没有QMYSQL驱动文件的问题详解
关于解决Qt MySql没有QMYSQL驱动文件的问题详解
打开Qt Creator界面 -->open project->选择mysql.por文件(注意文件路径为:D:\QtCreator\5.12.6\Src\qtbase\src\plugins\sqldrivers\mysql)如图:
关于解决Qt MySql没有QMYSQL驱动文件的问题详解

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

总结

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

补充点

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