Windows10 QT5使用MySQL数据库配置,复制文件依然出现QSqlDatabase: QMYSQL driver not loaded 包括如何编译qsqlmysql.dll,亲测可用

QT5使用MySQL数据库配置,复制文件依然出现QSqlDatabase: QMYSQL driver not loaded 包括如何编译qsqlmysql.dll,亲测可用

再配置QT5+MySQL数据库的过程中始终无法解决QSqlDatabase: QMYSQL driver not loaded问题,包括网上所说的例如:复制文件就可以使用,32位和64位的问题。这些能解决基本上是碰运气,不能根本解决问题
因为新版本的QT5自身不在带有mysql驱动,看了一下包括很多其他的数据库也不包括,当然不排除你很有钱买的企业版,相信大家都是开源版,废话有点多,让我们开始吧

第一步:安装QT

安装qt5基本上就不用说了,要不你也不会遇到QSqlDatabase: QMYSQL driver not loaded的问题,但是要注意以下几点:

  1. QT的版本 :我是用的是windows10 5.13.1 32位
  2. 在安装时时候安装了MinGW_32:如果你需要跨平台编译,建议使用这个
    注意:要有下图这个在这里插入图片描述

第二步:不需要安装MySQL

但是不安装的话需要下载mysql的源码(注意图片中划线两个文件夹必须要有),比如:

mysql-connector-c-6.1.3-win32
在这里插入图片描述

第三步:准备编译需要的文件

  1. 找到qt中MySQL的源码所在的文件夹我的是D:\Qt\Qt5.13.1\5.13.1\Src\qtbase\src\plugins\sqldrivers\mysql
  2. 打开到文件夹修改mysql.pro
    原本的mysql.pro内容如下:
TARGET = qsqlmysql

HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp

QMAKE_USE += mysql

OTHER_FILES += mysql.json

PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)

注释QMAKE_USE +=mysql,添加mysql头文件路径修改完后如下:

TARGET = qsqlmysql

HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp

#QMAKE_USE += mysql

OTHER_FILES += mysql.json

PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)
//下方为我mysql-connector-c-6.1.3-win32所放的位置,注意下方路径名称
INCLUDEPATH +="F:\XLDOWNLOAD\mysql-connector-c-6.1.3-win32\mysql-connector-c-6.1.3-win32\include"
LIBS +="F:\XLDOWNLOAD\mysql-connector-c-6.1.3-win32\mysql-connector-c-6.1.3-win32\lib\libmysql.lib"

第四步:开始编译

首先打开之前所说的Mingw32

在这里插入图片描述

cd 进入qt所提供的mysql源码的文件夹

在这里插入图片描述
如果发生错误检查mysql.pro中是否注释QMAKE_USE += mysql;没有就注释掉

输入qmake使文件夹中产生makefile文件

在这里插入图片描述

如果qmake时返回qmake不是内部命令的情况需要配置系统环境变量

在这里插入图片描述

输入mingw32-make

在这里插入图片描述
我这个是已经make过的,如果没有make过会有很多东西,如果发生错误检查mysql.pro中INCLUDEPATH +=和LIBS +=后面的路径对不对。

输入mingw32-make install

如果make成功没有报错,基本这步就没有问题。

查看编译完成的文件

在这里插入图片描述
如果编译成功,在plugins/sqldrivers中就会有我们需要的两个文件。

第五步:复制文件

将编译好的文件复制到mingw32文件夹中

qsqlmysql.dll&qsqlmysqld.dll>>Qt5.13.1\5.13.1\mingw73_32\plugins\sqldrivers
将mysql-connector-c-6.1.3-win32/lib中的

libmysql.dll&libmysql.lib>>Qt5.13.1\5.13.1\mingw73_32\bin

第六步:用qt打开工程文件进行编译

如果你觉得麻烦可以下载我编译好的文件,不知道能不能用,最好自己编译下,别的数据库包括组件的使用方式和这个差不多。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值