Windows10下QT连接Mysql

本文介绍了在QT5.12.12环境中使用QMYSQLDriver访问MySQL5.7数据库时遇到的问题,包括dll缺失、配置调整和文件路径设置,提供了解决方案,确保Qt应用程序能成功连接MySQL数据库。
摘要由CSDN通过智能技术生成

QT5.12.12访问MySQL5.7数据库报错:QMYSQL driver not loaded

查阅资料并实践后给出以下解决方案

1.找到Qt安装路径并打开sqldrivers文件夹(例如:D:\Download\Qt\5.12.12\mingw73_64\plugins\sqldrivers)

2.当发现没有关于mysql的dll时找到Qt的源码文件夹(注:当时安装Qt时选择了src选项才可以,如果没有选择这篇文章帮不到你,如果你不知道当时选没选可以到Qt安装路径下查看                      例如:D:\Download\Qt\5.12.12)

3.双击进入Src文件夹找到 以下路径                                                                                                                          

例: D:\Download\Qt\5.12.12\Src\qtbase\src\plugins\sqldrivers\mysql

使用Qt打开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使用#号注释掉(不出意外应该就在第6行)

然后添加如下代码

(注:此处包含C盘的路径是我的MySQL安装路径请将路径切换成你的MySQL安装路径)

DESTDIR = ../mysql/mysqlDll
INCLUDEPATH += "C:/Program Files/MySQL/MySQL Server 5.7/include"
DEPENDPATH += "C:/Program Files/MySQL/MySQL Server 5.7/include"
LIBS += "C:/Program Files/MySQL/MySQL Server 5.7/lib/libmysql.lib"

这句话的意思是将构建出来的dll文件放入mysql文件夹下的mysqlDll文件下

DESTDIR = ../mysql/mysqlDll

 有的博客将LIBS的路径写的是如下形式我这么写“没有成功”

LIBS += -L"C:/Program Files/MySQL/MySQL Server 5.7/lib -llibmysql"

修改好后构建一下会发现有错误,别慌逐个击破

其中一个是没有qtsqldrivers-config.pri文件

解决办法:打开qsqldriverbase.pri文件 修改成如下

#include($$shadowed($$PWD)/qtsqldrivers-config.pri)

include(./configure.pri)

注释掉第4行的

#include($$shadowed($$PWD)/qtsqldrivers-config.pri)

然后添加

include(./configure.pri)

再次编译编译成功进入到Qt安装目录下的mysql文件夹(例: D:\Download\Qt\5.12.12\Src\qtbase\src\plugins\sqldrivers\mysql)

再进入到mysqlDll文件夹

选择qsqlmysqld.dll文件将文件拷贝到QT安装目录的sqldrivers文件夹内

(例如:D:\Download\Qt\5.12.12\mingw73_64\plugins\sqldrivers)

最后将mysql安装目录下的dll文件拷贝到qt安装目录下的mingw73_64下的bin文件中

拷贝后

然后去qt中运行程序     成功

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值