Qt 之编译(MySQL)数据库驱动

参考文档:qt官方教程:https://doc.qt.io/qt-5/sql-driver.html

Build the QMYSQL Plugin

qt新版本都不带mysql的驱动,需要自己进行编译, 编译过程中有许多坑,,按照下列步骤一定成功。

编译环境:

  • 系统: WIndows 10 64位
  • Qt版本:Qt5.14
  • 编译工具: visual studio 2017 、msvc2017_64的qmake

一 、下载数据库的x64的sdk包、Qt的源码

将sdk中libmysql.dll所在路径加入环境变量

二、 将qmake所在路径加入环境变量PATH,如D:\Qt\Qt5.14.0\5.14.0\msvc2017_64\bin

Qt 之编译(MySQL)数据库驱动_第1张图片
PATH

三、 更改mysql的pro文件

切换到相应目录,如D:\Qt\Qt5.14.0\5.14.0\Src\qtbase\src\plugins\sqldrivers\mysql,使用NotePad++或其他文本编辑器打开mysql.pro文件.
将第七行QMAKE_USE += mysql注释掉
添加数据库sdk的include目录及库文件,保存并关闭
如:

INCLUDEPATH+="D:\\Program Files\\MariaDB 10.4\\include/mysql"
LIBS += "D:\\Program Files\\MariaDB 10.4\\lib/libmariadb.lib"
Qt 之编译(MySQL)数据库驱动_第2张图片

四、 打开Vs 2017 的命令行工具

Qt 之编译(MySQL)数据库驱动_第3张图片

切换到驱动源码路径下
cd %QTDIR%\qtbase\src\plugins\sqldrivers
Qt 之编译(MySQL)数据库驱动_第4张图片

执行根据你数据库的sdk目录执行下列qmake命令

qmake -- MYSQL_INCDIR=C:/MySQL/include "MYSQL_LIBDIR=C:/MYSQL/MySQL Server /lib/opt"
如:
qmake -- MYSQL_INCDIR="D:/Program Files/MariaDB 10.4/include/mysql" "MYSQL_LIBDIR=D:/Program Files/MariaDB 10.4/lib/libmariadb.lib"

继续执行nmake命令

nmake

最后等编译完成就可以在
%QTDIR%\qtbase\src\plugins\sqldrivers\plugins目录下看到编译好的驱动了,将驱动复制到相应的文件夹下就可以正常使用了

你可能感兴趣的:(Qt 之编译(MySQL)数据库驱动)