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

 

 

 

posted @ 2024-01-03 11:01  fwillra  阅读(364)  评论(0编辑  收藏  举报