本文将指导如何在未安装MySQL的本地计算机上配置Qt环境,以使用MySQL驱动。将分别讨论32位和64位MySQL包的配置过程
一、环境准备
在开始配置之前,请确保你的Qt环境已经安装,并且下载了相应的MySQL版本。本文以MySQL 5.7.40(32位)和MySQL 8.0.29(64位)为例。
当前环境:
- Qt版本:Qt 5.15.2
- MySQL版本:未安装(数据库配置在Docker中)
- 相关文件链接:百度网盘 提取码:0fek
二、Qt项目配置
- 修改MySQL源码配置文件
打开MySQL源码,导航至Qt安装目录下的MySQL源码文件夹,并修改对应的mysql.pro文件
路径:D:\Qt\5.15.2\Src\qtbase\src\plugins\sqldrivers\mysql
TARGET = qsqlmysql
HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp
#注释掉qmake
#QMAKE_USE += mysql
OTHER_FILES += mysql.json
PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)
# 32bit
#添加.h依赖文件,添加依赖的.lib文件
#INCLUDEPATH += "D:\Qt\mysql-5.7.40-win32/include"
#DEPENDPATH += "D:\Qt\mysql-5.7.40-win32/include"
#LIBS += "D:\Qt\mysql-5.7.40-win32/lib/libmysql.lib"
# 64bit
INCLUDEPATH += "D:\Qt\mysql-8.0.29-winx64/include"
DEPENDPATH += "D:\Qt\mysql-8.0.29-winx64/include"
LIBS += "D:\Qt\mysql-8.0.29-winx64/lib/libmysql.lib"
#生成所需要的dll存放目录
DESTDIR = "D:/mysql_driver"
- 修改qsqldriverbase.pri文件,确保包含正确的配置。
路径:D:\Qt\5.15.2\Src\qtbase\src\plugins\sqldrivers\qsqldriverbase.pri
QT = core core-private sql-private
# For QMAKE_USE in the parent projects.
#注掉这一行
#include($$shadowed($$PWD)/qtsqldrivers-config.pri)
#添加这一行
include(./configure.pri)
PLUGIN_TYPE = sqldrivers
load(qt_plugin)
DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
三、编译并拷贝驱动
1、编译生成驱动
编译生成qsqlmysql.dll和qsqlmysql.dll.debug文件。
2、复制驱动文件
将编译生成qsqlmysql.dll和qsqlmysql.dll.debug文件复制到Qt的相应插件目录下:
32位:D:\Qt\5.15.2\mingw81_32\plugins\sqldrivers
64位:D:\Qt\5.15.2\mingw81_64\plugins\sqldrivers
3、复制MySQL库文件
将libmysql.dll和libmysql.lib文件复制到相应的编译套件的bin目录下:
32位:D:\Qt\mysql-5.7.40-win32\lib 和 D:\Qt\5.15.2\mingw81_32\bin
64位:D:\Qt\mysql-8.0.29-winx64\lib 和 D:\Qt\5.15.2\mingw81_64\bin
按照上述步骤,应该能够在Qt环境中成功配置MySQL驱动。如果在配置过程中遇到任何问题,请检查路径和文件名是否正确,或者查阅Qt和MySQL的官方文档获取更多帮助。
注意区分编译环境32/64