Qt:编译qsqlmysql.dll
mysql出现错误
Database connection error: Driver not loaded Driver not loaded
Failed to connect to database
D:\ProgramData\Qt\5.15.19\msvc2019_64\plugins\sqldrivers
首先确定Qt安装相应路径下是否存在qsqlmysql.dll。如果不存在,按照下面方式实现编译。
第一步:借助Qt维护MaintenanceTool.exe下载对应版本源码

第二步:修改mysql.pro
进入源码路径:D:\ProgramData\Qt\5.15.19\Src\qtbase\src\plugins\sqldrivers\mysql
注释掉
# QMAKE_USE += mysql
添加编译路径 前两个是已安装Mysql的库路径,后两个是Qt编译库
INCLUDEPATH +="D:/Program Files/MySQL/MySQL Server 8.0/include"
LIBS +="D:/Program Files/MySQL/MySQL Server 8.0/lib/libmysql.lib"
LIBS +="D:/ProgramData/Qt/5.15.19/msvc2019_64/lib/Qt5Core.lib"
LIBS +="D:/ProgramData/Qt/5.15.19/msvc2019_64/lib/Qt5Sql.lib"
第三步:修改qsqldriverbase.pri
进入路径:D:\ProgramData\Qt\5.15.19\Src\qtbase\src\plugins\sqldrivers
注释掉
# include($$shadowed($$PWD)/qtsqldrivers-config.pri)
修改为
include(./configure.pri)
第四步:编译qsqlmysql.dll
程序中找到对应的编译器
Qt msvc2019_64编译器为:x64 Native Tools Command Prompt for VS 2022
Qt msvc2019_86编译器为:x86 Native Tools Command Prompt for VS 2022
执行三个命令
cd D:\ProgramData\Qt\5.15.19\Src\qtbase\src\plugins\sqldrivers\mysql
qmake mysql.pro
nmake
出现上述界面,表明已编译成功,在路径:
D:\ProgramData\Qt\5.15.19\Src\qtbase\src\plugins\sqldrivers\plugins\sqldrivers
找到qsqlmysql.dll和qsqlmysql.lib
第五步:生成的插件复制到 Qt 插件目录
qsqlmysql.dll复制到目录:
D:\ProgramData\Qt\5.15.19\msvc2019_64\plugins\sqldrivers
qsqlmysql.lib复制到目录:
D:\ProgramData\Qt\5.15.19\msvc2019_64\lib
将 MySQL Connector 中的 libmysql.dll
复制到你的 Qt 项目的可执行程序同目录。
测试项目即可。