Qt+数据库学习笔记(一)WIN10+Qt5.15.2 MinGW 32-bit+MySQL5.7.44编译MySQL5.7驱动插件
前言:
因项目需要,需要使用Qt连接MySQL数据库。程序编写电脑上使用的是Win10 64位系统,程序运行电脑上使用的是Win7 32位系统。
一、下载及安装MySQL5.7
1、地址:MySQL官网 点击DOWNLOADS
2、点击MySQL Community(GPL) Downloads
3、点击MySQL Installer for Windows
4、选择版本进行下载
6、点击No thanks, just start my download
7、双击mysql-installer-community-5.7.44.0.msi,选择安装类型,这里选择的自定义安装
8、选择安装的产品和功能
9、高级选项,可自定义安装目录和数据存放目录
10、点击Next
11、点击Execute
12、点击Next
13、点击Next
14、选择安装类型,个人开发学习选择“Development Computer”
15、设置Root密码
16、点击Next
17、点击Next
18、点击Execute
19、点击Next
20、点击Finish
二、编译驱动插件
1、找到Qt5.15.2源码,笔者的目录是D:\Qt\5.15.2\Src
使用QtCreator打开MySQL插件工程,笔者的工程目录如下
D:\Qt\5.15.2\Src\qtbase\src\plugins\sqldrivers\mysql\mysql.pro
2、打开工程文件后,注释QMAKE_USE,并添加MySQL的C链接库,笔者修改如下
1 TARGET = qsqlmysql 2 3 HEADERS += $$PWD/qsql_mysql_p.h 4 SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp 5 6 #QMAKE_USE += mysql 7 8 OTHER_FILES += mysql.json 9 10 PLUGIN_CLASS_NAME = QMYSQLDriverPlugin 11 12 LIBS += 'D:\MySQL\MySQL Server 5.7\lib\libmysql.lib' 13 14 INCLUDEPATH += 'D:\MySQL\MySQL Server 5.7\include' 15 DEPENDPATH += 'D:\MySQL\MySQL Server 5.7\include' 16 17 include(../qsqldriverbase.pri)
3、MySQL的C链接库,请读者自行修改成自己的库地址
修改完成后,构建项目
编译完成后,可以找到已经编译好的驱动插件
4、将文件复制到Qt5.15.2插件目录下,笔者的目录如下
三、测试驱动插件
1、在QtCreator中,找到SQL Browser示例
2、选择好套件直接运行
3、设置好连接参数,并连接
可以看到正常连接MySQL 5.7数据库了。
可能遇到的问题:
1、Qt构建时出现"undefined reference to mysql_character_set name@4"和"undefined reference to mysql_error@4"等一长溜错误
原因:版本不匹配
2、连接数据库时提示如下错误
1 QSqlDatabase: QMYSQL driver not loaded 2 QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
原因:驱动插件找不到驱动库
解决方法:到MySQL安装目录,复制如下文件到程序当前目录或Q5.15.2的bin目录中
D:\MySQL\MySQL Server 5.7\lib\libmysql.dll