原文转载自:Windows环境下Qt缺少Mysql驱动的问题解决方案_今生有幸.~的博客-CSDN博客
下面红字部分添加了自己遇到的情况和注解。
本人的软件版本:
-- mysql:mysql Ver 14.14 Distrib 5.5.60, for Win64 (AMD64)
-- QtCreator版本:
Qt Creator 4.11.1
Based on Qt 5.14.1 (MSVC 2017, 32 bit)
两个位数不同,但是我之前安装Qt的时候安装了mingw64位编译器,所以位数没问题。
Windows环境下Qt缺少mysql驱动的问题
问题描述:
在QT中调用Qsqldatabase库连接mysql时,提示出现如下问题:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
解决办法:
以Qt 5.12.2、Mysql 8.0为例,其中:
- Qt路径为 D:/qt
- Mysql路径为 D:/mysql
若Qt和Mysq的路径和版本与上述不同,则解决步骤中部分操作需进行对应修改!
检查事项:
1. 检查本地是否已安装Mysql
2. 检查QT与Mysql位数是否一致
3. 检查QT是否安装源码Src
① 查看D:/qt/5.12.2/路径下是否含有Src文件夹
② 若没有Src文件夹,点击执行D:/qt/MaintenanceTool.exe文件,下载源码Src(选择完整安装,勾选Qt对应版本下的Src)。
解决步骤
确认检查事项无误后,执行以下步骤:
1. 进入D:/qt/5.12.2/Src/qtbase/src/plugins/sqldrivers/mysql/,点击打开mysql.pro文件:
2. 对应下图,对mysql.pro文件进行如下修改,并执行(执行可能会报错,无视即可):
① 注释第6行
② 加入12、13、14行,其中D:/mysql/为Mysql路径
这里要注意,如果路径中有空格,则需要写成此格式:
LIBS += -L$$quote(C:/Program Files/MySQL/MySQL Server 5.5/lib) -llibmysql
INCLUDEPATH += $$quote(C:/Program Files/MySQL/MySQL Server 5.5/include)
DEPENDPATH += $$quote(C:/Program Files/MySQL/MySQL Server 5.5/include)
否则编译会报错找不到mysql.h头文件
3. 执行后,D盘下(qt上级目录)会出现plugins文件夹,进入D:/plugins/sqldriver/中,可以看到qsqlmysql.dll文件;
4. 将qsqlmysql.dll文件复制到D:/qt/5.12.2/mingw81_w/plugins/sqldrivers/目录下;
5. 进入D:/mysql/lib/目录下,找到libmysql.dll和libmysql.lib文件;
6. 将libmysql.dll和libmysql.lib文件复制到D:/qt/5.12.2/mingw81_64/bin/目录下;
7. 至此,问题即可解决。
补充
按照上述步骤,可以解决项目在Qt执行时出现的却少Mysql驱动的问题。
当项目进行发布时,需要将libmysql.dll和libmysql.lib文件放在项目的发布目录里,发布项目才能正常连接数据库。
————————————————
原文链接:https://blog.csdn.net/For_learning/article/details/114639832