问题 连接提示错误错误
QSqlDatabase:QMYSQL Driver not loaded
QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL3 QODBC QODBC3 QPSQL QPSQL7 "Driver not loaded Driver not loaded"
Driver not loaded Driver not loaded
原因没有QMYSQL 驱动,选哟自己编译,编译步骤如下:
区安装包目录下的源代码目录下
安装路径/Qt5.12.10\5.12.10\Src\qtbase\src\plugins\sqldrivers\mysql
1、用qtcrearer打开 mysql.pro
2、注释#QMAKE_USE += mysql
4、添加mysql路径
INCLUDEPATH += D:/Software/mysql-8.0.23-winx64/include
LIBS += D:/Software/mysql-8.0.23-winx64/lib/libmysql.lib
DESTDIR = ../mysql/mysqlDllRelease//指定生成的目录
5、打开qsqldriverbase.pri 注释掉#include($$shadowed($$PWD)/qtsqldrivers-config.pri),添加include(./configure.pri)
或者 include(./qtsqldrivers-config.pri)(这个需要提前命令行进入 qmake一下 生成文件文件qtsqldrivers-config.pri)
6.把编译完成的的qsqlmysqld.dll和qsqlmysql.dll复制到
Qt5.12.10\5.12.10\mingw73_64\plugins\sqldrivers
QQt5.12.10\Tools\QtCreator\bin\plugins\sqldrivers //这个应该不用复制,msvc编译器可以不用复制就能打开数据库
7、把MySQL目录下的mysql-8.0.23-winx64\lib的libmysql.dll复制到
D:\Software\IDE\Qt\Qt5.12.10\5.12.10\mingw73_64\bin
编译依旧调试错误如下:但这里提示QMYSQL可用来了,
QSqlDatabase:QMYSQL Driver not loaded
QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7 "Driver not loaded Driver not loaded"
Driver not loaded Driver not loaded
搞了半天依赖库什么的没有搞定,最后开到Qt5.12连接MySQL8.0(driver not loaded)解决办法_NL_study的博客-CSDN博客上到启发
把mysql-8.0.23-winx64\bin的所有dll复制到可执行目录测试ok,经过删减发现需要的是libcrypto-1_1-x64.dll和libssl-1_1-x64.dll
最后把这两个库libcrypto-1_1-x64.dll和libssl-1_1-x64.dll 复制到D:\Software\IDE\Qt\Qt5.12.10\5.12.10\mingw73_64\bin
到此就完美了
时候分析:我倒是查看过编译出来的qsqlmysql.dll 依赖的库了 都有:
没有查看libmysql.dll的依赖的动态库,回想起来缺根筋,回头查看依赖库如下: