由于我重装了电脑系统,qt 和mysql均进行了软件版本的升级, 在使用数据库模块时,出现了如下问题: Driver not loaded Driver not loaded
排除问题一: pro文件中是否加载了sql模块
查看pro文件,发现 有此模块
QT += sql
排除问题二: 查看QT安装路径下是否有mysql的驱动
我的qt安装路径为: D:\QT\5.12.6\msvc2017_64\plugins\sqldrivers 查看里面没有qsqlmysql.dll qsqlmysqld.dll
qt在安装时,最好要勾选src,要不然后面就没有办法手动编译mysql.pro文件了
mysql手动编译步骤
手动编译的前提是已经安装了mysql5.5.9版本
1. 用qt 打开mysql.pro文件
路径为 D:\QT\5.12.6\Src\qtbase\src\plugins\sqldrivers\mysql
2. 修改pro中内容
具体代码如下:
TARGET = qsqlmysql
HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp
#QMAKE_USE += mysql 注释掉 2023.5.11 ZWJ 重装系统后,驱动中没有qsqlmysql.dll
OTHER_FILES += mysql.json
PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)
#以下为新增部分2023.5.11
DESTDIR = $$PWD/sutMySQL #设置输出路径
INCLUDEPATH += "D:/MySQL/include/" #去mysql的安装路径下去找
DEPENDPATH += "D:/MySQL/include/"
LIBS += "D:/MySQL/lib/libmysql.lib"
3. 执行qmake + 重新构建
4.拷贝
去输出文件夹下 将 qsqlmysql.dll qsqlmysqld.dll 拷贝到qt的驱动安装路径下
拷贝到路径为:D:\QT\5.12.6\msvc2017_64\plugins\sqldrivers
5. 拷贝myql安装路径下的libmysql.dll和libmysql.lib到qt安装路径下
libmysql.dll 和lib的路径为 D:\MySQL\lib
拷贝到 D:\QT\5.12.6\msvc2017_64\bin 下
步骤5是在安装mysql时进行操作的,如果没有此步骤也容易报错
编辑好的mysql动态库下载链接
(1条消息) qt5.12.6mysql5.5.964位编辑好的动态链接库资源-CSDN文库
如果还有其他的问题参考如下链接
参考:https://mp.weixin.qq.com/s?__biz=MzA4MjI3NzQ1Nw%3D%3D&chksm=9f8960b3a8fee9a561f94c9991e19d8fb2488582f25ca585c9b72778456e3c40df118964d249&idx=1&mid=2247484813&scene=21&sn=a00613b323814d9f3ccad472e08d9d0c#wechat_redirecthttps://mp.weixin.qq.com/s?__biz=MzA4MjI3NzQ1Nw%3D%3D&chksm=9f8960b3a8fee9a561f94c9991e19d8fb2488582f25ca585c9b72778456e3c40df118964d249&idx=1&mid=2247484813&scene=21&sn=a00613b323814d9f3ccad472e08d9d0c#wechat_redirect