Qt配置MySql数据库驱动(Windows)
文章目录
- Qt配置MySql数据库驱动(Windows)
-
- 1、前言
- 2、安装MySql开发包
-
- 2.1 MySql安装包
- 2.2 准备MySql开发库
- 3、编译MySql驱动
- 4、测试MySql驱动配置结果
- 5、MSVC编译异常
1、前言
- 系统:windows10
- Qt版本:5.12.12
- 编译器:MinGW-64
- MySql开发包版本:6.1.11
2、安装MySql开发包
- 可以单独下载MySql开发包安装,也可以执行下载MySql安装包(里面包含了开发包);
2.1 MySql安装包
- MySql安装包比较大,如果觉得下载慢可用试试在linux下用下列命令下载;
wget -c https://dev.mysql.com/get/Downloads/MySQLInstaller/mysql-installer-community-8.0.29.0.msi
![Qt配置MySql数据库驱动(Windows)_第1张图片](http://img.e-com-net.com/image/info8/0c97f8bf1893493bbc88b216bd8cab8d.jpg)
2.2 准备MySql开发库
- 进入MySql下载地址,在右上角可以看见有支持各种语言的开发包,这里选择C API;
- 根据说明可以看出如果要使用api 除了直接安装MySql外还可以在
MySql Product Archives
下载开发包;
![Qt配置MySql数据库驱动(Windows)_第2张图片](http://img.e-com-net.com/image/info8/f48efd735db24d47bb50d95fbb3cfcf2.jpg)
- 网上很多人都喜欢下载安装包,这里选择压缩包更简单,我这里选择了64位压缩包;
![Qt配置MySql数据库驱动(Windows)_第3张图片](http://img.e-com-net.com/image/info8/4a9d6bd607f14abc9b2fa2effa5f6ba6.jpg)
- 下载后自己选择一个路径解压(后面会用到),解压后内容如下;
![Qt配置MySql数据库驱动(Windows)_第4张图片](http://img.e-com-net.com/image/info8/e24b1670768b4536b6e6e59420a3cb30.jpg)
- 进入lib文件夹,内容如下,后面我们后用到
libmysql.lib
![Qt配置MySql数据库驱动(Windows)_第5张图片](http://img.e-com-net.com/image/info8/8ba399bd527d4271b4706854f8b2a315.jpg)
3、编译MySql驱动
- 找到自己Qt安装目录下的mysql驱动源码
D:\Qt\Qt5.12.12\5.12.12\Src\qtbase\src\plugins\sqldrivers
;
![Qt配置MySql数据库驱动(Windows)_第6张图片](http://img.e-com-net.com/image/info8/54166496a3ff429bbc09aa8428cd9770.jpg)
- 进入mysql目录,双击打开mysql.pro工程,然后注释掉
QMAKE_USE += mysql
;
![Qt配置MySql数据库驱动(Windows)_第7张图片](http://img.e-com-net.com/image/info8/4b5795e7e43d4e2997efda2c28b4954a.jpg)
![Qt配置MySql数据库驱动(Windows)_第8张图片](http://img.e-com-net.com/image/info8/2330de10cca4407994a816c8143b9e6a.jpg)
![Qt配置MySql数据库驱动(Windows)_第9张图片](http://img.e-com-net.com/image/info8/5ba52b49f09b46aebffa66cab996348d.png)
- 点击浏览,找当之前解压开发包的位置,选择
libmysql.lib
,然后如图取消其它的所有勾选;
![Qt配置MySql数据库驱动(Windows)_第10张图片](http://img.e-com-net.com/image/info8/851c9fb782704b4d87d797fb726a5e85.png)
![Qt配置MySql数据库驱动(Windows)_第11张图片](http://img.e-com-net.com/image/info8/04f9e86cc2ea49f49552303ef7993a9d.jpg)
- 打开
qsqldriverbase.pri
文件,注释掉include($$shadowed($$PWD)/qtsqldrivers-config.pri)
,然后添加一行include(./configure.pri)
;
![Qt配置MySql数据库驱动(Windows)_第12张图片](http://img.e-com-net.com/image/info8/d11588aeeb1e413dbfae025f4b3dcf85.jpg)
- 然后点击构建就可以了,注意这里选择的是MinGW 64编译器Release模式;
![Qt配置MySql数据库驱动(Windows)_第13张图片](http://img.e-com-net.com/image/info8/049ace7ef2bf453ea13f6d2e57051722.jpg)
- 构建完成后就会生成如下4个库文件,但生成的库文件不在
build-mysql-Desktop_Qt_5_12_12_MinGW_64_bit-Release
文件夹中,可以使用Everything工具搜索文件在哪;
![Qt配置MySql数据库驱动(Windows)_第14张图片](http://img.e-com-net.com/image/info8/8b37e0da740043ba83c586b4cef059cc.jpg)
![Qt配置MySql数据库驱动(Windows)_第15张图片](http://img.e-com-net.com/image/info8/983041d26ad94de8bf8fe783b649883a.jpg)
- 将这4个文件复制到qt安装路径下的
D:\Qt\Qt5.12.12\5.12.12\mingw73_64\plugins\sqldrivers
文件夹中(注意这里要和编译驱动时用的编译器版本相同,因为我使用的时MinGW64所以才是这个路径);
![Qt配置MySql数据库驱动(Windows)_第16张图片](http://img.e-com-net.com/image/info8/af161ba5631242fb91119841afcf5207.jpg)
4、测试MySql驱动配置结果
- 新创建一个工程,在pro文件中加上
Qt += sql
;
- 在main.cpp中使用
QSqlDatabase::drivers()
打印所有可用数据库驱动程序的列表;
- 注意这里编译也是使用MinGW 64位编译器,其它编译器还没有配置;
#include
#include
#include
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
qDebug()<<QSqlDatabase::drivers();
return a.exec();
}
("QSQLITE", "QODBC", "QODBC3", "QPSQL", "QPSQL7")
("QSQLITE", "QMYSQL", "QMYSQL3", "QODBC", "QODBC3", "QPSQL", "QPSQL7")
5、MSVC编译异常
- 我在使用
MSVC
编译器编译时发现mysql.pro加载不出来,并且编译会报如下错误:
:-1: error: Project ERROR: msvc-version.conf loaded but QMAKE_MSC_VER isn't set
- 这个问题很好解决,使用
Everything
软件搜索msvc-sersion.conf文件,找到使用的编译器路径下的那一个(这里我使用msvc2107-64);
![Qt配置MySql数据库驱动(Windows)_第17张图片](http://img.e-com-net.com/image/info8/76b0b3d845a543858ffa65242331171a.jpg)
- 使用文本编辑器打开后,根据里面msvc2017编译器对应的版本号在
msvc-version.conf
文件最前面加上一行QMAKE_MSC_VER=1909
;
![Qt配置MySql数据库驱动(Windows)_第18张图片](http://img.e-com-net.com/image/info8/5c5e2dd6f9f645cca711cf36e5b5466e.jpg)