Qt编译MySQL数据库驱动

文章目录

  • 一、我的编译环境
  • 二、需要
  • 三、Qt的下载
  • 四、编译驱动(主题)
    • 4.1 第一步打开msql.pro
    • 4.2 第二步
    • 4.3 第三步
    • 4.4 第四步
    • 4.5 第五步:编译
  • 最后一步

一、我的编译环境

Qt:5.14.2 mingw73_64
MySQL:8.0.22 64位

二、需要

我们编译MySQL的驱动需要使用到Qt的源码和MySQL安装路径的include和lib文件夹下的东西。
源码路径:Qt安装目录\Src\qtbase\src\plugins\sqldrivers\mysql

注意:

  1. 当安装Qt时没有安装Qt源码,须手动下载源码,下载完成后解压到一个没有中文的路径,根据上方给出的路径依次找到我们的mysql文件夹下的pro文件。
  2. MySQL的安装路径最好不要有空格出现,不然编译驱动可能会失败(这个失败好像是特殊/个例的,我的就失败了,然后重新装了)…一般都可以编译成功的,先试试再重装,或者你继续去参考别人的文章找到解决这个问题的答案吧,我这里没有其它的方法提供…
  3. 在这篇文章里,我习惯把Qt的构建套件(Kit)叫编译器哦,我说的编译器不是Qt Creator,搞清楚了哦。

有啥不懂可以留言哦…当然也欢迎大佬指正错误。

三、Qt的下载

Qt/Qt源码下载地址:http://download.qt.io/archive/qt/

在这个文件夹下,选择自己需要的Qt版本
Qt编译MySQL数据库驱动_第1张图片
选中一个版本后,下方图片中标记好了源码和安装包,根据自己需求下载(点击后面的 Details 下载)。
Qt编译MySQL数据库驱动_第2张图片
点击Details后,在CN中的镜像节点下载,国内的快…
Qt编译MySQL数据库驱动_第3张图片

Qt在安装的时候可以安装源码,把 Source 这一项勾选就可以了。
Qt在安装时安装源码,那么它的源码目录为:Qt安装目录/Src
如:D:\MyQt\5.14.2\Src

四、编译驱动(主题)

当我们需要的两个东西:Qt源码、MySQL的文件路径都准备好的时候,开始。

4.1 第一步打开msql.pro

**Qt源码路径(我的路径):D:\MyQt\5.14.2\Src\qtbase\src\plugins\sqldrivers\mysql

我的路径是安装Qt时就安装了Qt的源码,当安装Qt时没有安装Qt源码,须手动下载源码,下载完成后解压到一个没有中文的路径,根据上方给出的路径依次找到我们的mysql文件夹下的pro文件。

将这个文件夹下的mysql.pro文件使用Qt Creator打开,打开时会提示你使用什么编译在这里我使用 MinGW 64-bit 来编译,因为我MySQL安装的是64位的,所以使用64位的MinGW编译。
Qt编译MySQL数据库驱动_第4张图片
然后打开就是这个样子
Qt编译MySQL数据库驱动_第5张图片

4.2 第二步

第二步注释掉

QMAKE_USE += mysql

Qt编译MySQL数据库驱动_第6张图片
没有注释它,编译的时候就会产生一个错误: error: Library ‘mysql’ is not defined.

4.3 第三步

添加MySQL中include文件夹,引用MySQL安装路径lib文件夹下的libmysql.lib静态库

#这里的路径是MySQL安装路径下的include文件夹哦,记得替换成自己的MySQL安装路径哦

INCLUDEPATH +="D:\MySQL\include"
或者
INCLUDEPATH += D:\\MySQL\\include

#在这里引入静态库,写绝对路径好一点,不容易发生一些莫名其妙的错误(会弄的大佬除外)
#记得替换成自己的路径

LIBS +="D:\MySQL\lib\libmysql.lib"
或者
LIBS += D:\\MySQL\\lib\\libmysql.lib

4.4 第四步

这一步可以省略,但是为了方便,建议不要省略这一行代码哦。

#将我们编译好的文件放在这个项目,就是mysql文件夹下的myLib文件夹内

DESTDIR  = ../mysql/myLib/

当我们四步都做完之后,就是以下的样子
Qt编译MySQL数据库驱动_第7张图片

4.5 第五步:编译

左下角的“锤子”按钮,完成后,我们打开mysql文件夹,在pro文件右键选择在"Explorer中显示",就可以打开mysql文件夹
Qt编译MySQL数据库驱动_第8张图片
mysql文件夹下
Qt编译MySQL数据库驱动_第9张图片
myLib文件夹下,就会有三个文件(若没有或不够三个文件,请再次编译一次,有时候需要编译两次才会出现),把这三个文件复制到我们的Qt安装目录下对应的编译器(构建套件Kit)的插件的sql驱动文件夹下…
Qt编译MySQL数据库驱动_第10张图片
如:D:\MyQt\5.14.2\mingw73_64\plugins\sqldrivers
注意:

  1. 记得复制到自己的Qt安装路径下
  2. 你使用什么编译就复制到什么编译器(构建套件Kit)下(如:mingw73_64编译的,就放到 \mingw73_64\plugins\sqldrivers 中)
  3. 数据库的版本位,跟编译器(构建套件Kit)的版本位要一致的啊
  4. 在这篇文章里,我习惯把Qt的构建套件(Kit)叫编译器哦,我说的编译器不是Qt Creator,搞清楚了哦。
    Qt编译MySQL数据库驱动_第11张图片

最后一步

将Mysql的 libmysql.dll 拷贝到 \mingw73_64\bin 中;libmysql.dll 就在 D:\MySQL\lib目录中

现在我们就可以正常的使用了,如有错误请指正哦…大家一同进步一起学习。

参考链接:https://blog.csdn.net/qq_38344751/article/details/105387341

你可能感兴趣的:(Qt,Qt)