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 项目的可执行程序同目录。
测试项目即可。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐