前言:
上篇介绍的是使用mingw,本篇介绍使用VS2019连接mysql数据库,在此记录下本次编译过程
一、安装mysql8.0
注:若读者使用的是win7系统,请提前安装.net4.5,否则可能无法运行或安装失败
到官网下载mysql8.0
下载地址:MySQL :: MySQL Community Downloads
下载安装包
安装过程比较简单,
选择自定义安装
一定要安装数据库!
最新的程序中,已无法单独选择C连接接口,但会包含在数据库中,所以必须选中
以上是笔者的配置,基本上是下一步,安装完成后,运行下workbench
可以正常使用
二、编译驱动插件
找到Qt5.15.2的源码,先备份,笔者在目录D:\Qt\5.15.2\Src
注:备份是必要的,若源码被修改过,建议去Qt官网重新下载
使用QtCreator打开mysql插件工程,笔者的工程目录如下
D:\Qt\5.15.2\Src\qtbase\src\plugins\sqldrivers\mysql\mysql.pro
打开工程文件后,注释QMAKE_USE,并添加mysql的C连接库,笔者修改如下
TARGET = qsqlmysql
HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp
#QMAKE_USE += mysql
OTHER_FILES += mysql.json
PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)
win32: LIBS += -LC:/Program Files/MySQL/MySQL Server 8.0/lib/' -llibmysql
INCLUDEPATH += C:/Program Files/MySQL/MySQL Server 8.0/include'
DEPENDPATH += C:/Program Files/MySQL/MySQL Server 8.0/include'
mysql的C连接库,请读者自行修改成自己的库地址
修改完成后,直接运行就可以。运行过程中,可能会报错,不用关心,直接忽略即可
编译完成后,在根目录下,可以找到已经编译好的驱动插件,以下是笔者的
直接将些文件,复制到Qt5.15.2套件目录中,笔者的目录如下
三、测试驱动插件
在QtCreator中,找到SQL Browser示例,
选择好套件,直接运行
设置好连接参数,并连接
可以看到正常连接mysql8.0数据库了
可能遇到的问题:
连接数据库时,提示如下错误
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
问题原因:
驱动插件找不到驱动库
解决方法:
到mysql安装目录,复制如下文件到程序当前目录或Qt5.15.2的bin目录中
C:\Program Files\MySQL\MySQL Server 8.0\lib\libmysql.dll
注:此库依赖openssl库,若读者未安装过openssl,仍然无法运行
为方便读者测试,笔者已经打包到一起,有需要的读者可以自行下载测试
后记:
下一篇,若是有机会,笔者会介绍Qt6编译mysql8.0的驱动插件