Qt5.12.9编译MySQL驱动

文章首先要感谢https://blog.csdn.net/qq_38344751/article/details/105387341的作者,里面写得非常详细,我就是按里面的步骤一步一步来操作的,但是遇坑了,一段瞎折腾,总算解决了,就此记录一下。

1.在E:\Qt\Qt5.12.9\5.12.9\Src\qtbase\src\plugins\sqldrivers\mysql路径下找到mysql.pro,打开

2.修改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

LIBS += 'C:\mysql1\lib\libmysql.lib'
INCLUDEPATH += 'C:\mysql1\include'
DEPENDPATH += 'C:\mysql1\include'
DESTDIR = ./bin

include(../qsqldriverbase.pri)

有网友说include路径及库路径不能有空格,其实有没有都可以,只要用‘’括起来就好了

3.修改qsqldriverbase.pri

QT  = core core-private sql-private

# For QMAKE_USE in the parent projects.
#include($$shadowed($$PWD)/qtsqldrivers-config.pri)
include(./configure.pri)
PLUGIN_TYPE = sqldrivers
load(qt_plugin)

DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII

重点来了

完成以上3步,编译就通过了,不报错,但是发现找不到生成的文件,其实根本就没有生产库文件!!!

细心的网友会发现,我在mysql.pro里面设置了DESTDIR = ./bin,但是根本就找不到这个文件夹。

后面一顿折腾居然弄出来了,步骤如下:

1.选择debug模式编译(我之前使用的是release模式)

2.勾选影子构建(之前我把√去掉了)

Qt5.12.9编译MySQL驱动_第1张图片

 3.输出的文件在目录E:\plugins\sqldrivers下!!(我全盘搜索找出来的。。。。)

然后把两个dll复制到E:\Qt\Qt5.12.9\5.12.9\mingw73_32\plugins\sqldrivers下就OK了。

至于为什么release模式下编译不出文件,我真不知道,有网友知道的话,可以留言探讨,谢谢!!

你可能感兴趣的:(QT学习,qt5)