Qt 编译MySQL驱动 全过程

Qt要连接数据库安装后是没有MySQL驱动的,需要自己根据自己的MySQL位数进行编译,在此之前,我用的一直都是别人提供的驱动,打算自己编译一遍MySQL的驱动。首先需要安装Qt程序,进行安装。

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

这里用Qt5.12举例子:

01. 安装Qt5.12

安装Qt5.12的时候选择Qt的编译器Qt源码

Qt 编译MySQL驱动 全过程_第1张图片

这里可以选择MinGW 32位的,根据自己需要进行勾选,Sources这个必须要 勾选否则没有源码编译,tool一栏中 如果没有QtCreator请将QtCreator也勾选上。  

 

02. 打开MySQL源码项目

Qt5.12安装目录如下

Qt\Qt5.12.2\5.12.2\Src\qtbase\src\plugins\sqldrivers\mysql

Qt 编译MySQL驱动 全过程_第2张图片

03. 编译MySQL驱动代码

代码结构:

Qt 编译MySQL驱动 全过程_第3张图片

直接编译报错: 数据库驱动没有定义
Qt 编译MySQL驱动 全过程_第4张图片

问题分析: 由于没有指定MySQL动态库的路径

04. 修改mysql.pro文件

修改之后内容如下:

TARGET = qsqlmysql

HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp

#QMAKE_USE += mysql

OTHER_FILES += mysql.json

PLUGIN_CLASS_NAME = QMYSQLDriverPlugin

win32:LIBS += -LD:/mysql-5.7.23-winx64/lib/ -llibmysql
INCLUDEPATH += D:/mysql-5.7.23-winx64/include
DEPENDPATH += D:/mysql-5.7.23-winx64/include


include(../qsqldriverbase.pri)

新增加内容如下:

Qt 编译MySQL驱动 全过程_第5张图片

第二个红框为数据库的驱动,这个驱动在数据库的的安装目录中,库在 :mysql-5.7.28-win32\lib   头文件目录mysql-5.7.28-win32\include中。这个地方没有的话可以自己去官网下载。

05. 编译之后得到对应的库

构建当前项目即可,如果提示后提示 qtsqldrivers-config.pri no such file or directory,经查找确实没有找到改文件,因此修改qsqldriverbase.pri文件如下:

Qt 编译MySQL驱动 全过程_第6张图片

include包含configure.pri文件即可。

对应的库文件会生成在Qt安装的根目录下的:E:\plugins\sqldrivers

Qt 编译MySQL驱动 全过程_第7张图片

这两个就是需要的连接MySQL的库,将这两个文件放在E:\Qt\Qt5.12\5.12.0\mingw73_32\plugins\sqldrivers

我的是32位的放在这里,你们要根据自己实际变化。

将libmysql.dll下载后复制到Qt的安装目录中E:\Qt\Qt5.12\5.12.0\mingw73_32\bin

07. 测试结果

参考链接:https://www.cnblogs.com/szitcast/p/11105899.html

 

 

 

 

你可能感兴趣的:(编程语言)