Qt要连接数据库安装后是没有MySQL驱动的,需要自己根据自己的MySQL位数进行编译,在此之前,我用的一直都是别人提供的驱动,打算自己编译一遍MySQL的驱动。首先需要安装Qt程序,进行安装。
Qt下载地址http://download.qt.io/archive/qt/
这里用Qt5.12举例子:
01. 安装Qt5.12
安装Qt5.12的时候选择Qt的编译器和Qt源码
这里可以选择MinGW 32位的,根据自己需要进行勾选,Sources这个必须要 勾选否则没有源码编译,tool一栏中 如果没有QtCreator请将QtCreator也勾选上。
02. 打开MySQL源码项目
Qt5.12安装目录如下
Qt\Qt5.12.2\5.12.2\Src\qtbase\src\plugins\sqldrivers\mysql
03. 编译MySQL驱动代码
代码结构:
直接编译报错: 数据库驱动没有定义
问题分析: 由于没有指定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)
新增加内容如下:
第二个红框为数据库的驱动,这个驱动在数据库的的安装目录中,库在 :mysql-5.7.28-win32\lib 头文件目录mysql-5.7.28-win32\include中。这个地方没有的话可以自己去官网下载。
05. 编译之后得到对应的库
构建当前项目即可,如果提示后提示 qtsqldrivers-config.pri no such file or directory,经查找确实没有找到改文件,因此修改qsqldriverbase.pri(mysql工程上一层路径下)文件如下:
include包含configure.pri文件即可。
对应的库文件会生成在Qt安装的根目录下的:E:\plugins\sqldrivers
这两个就是需要的连接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