一、QT,MYSQL版本介绍
QT:5.12.9,安装目录:C:\Qt\Qt5.12.9
MYSQL Server:8.0
二、生成qsqlmysql.dll
1.配置mysql.pro
cd D:\Qt\Qt5.12.1\5.12.1\Src\qtbase\src\plugins\sqldrivers\mysql
下面有mysql.pro
修改内容如下
TARGET = qsqlmysql
HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp
OTHER_FILES += mysql.json
PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)
INCLUDEPATH += "D:/MySQL/include"
LIBS += "D:/MySQL/lib/libmysql.lib"
DEPENDPATH += "D:/MySQL/include"
2.修改qsqldriverbase.pri
QT = core core-private sql-private
# For QMAKE_USE in the parent projects.
include(./configure.pri)
PLUGIN_TYPE = sqldrivers
load(qt_plugin)
DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
在目录下D:\Qt\Qt5.12.1\5.12.1\Src\qtbase\src\plugins\sqldrivers
3.管理员身份运行x64 Native Tools Command Prompt for VS 2022
进到C:\Qt\Qt5.12.9\5.12.9\src\qtbase\src\plugins\sqldrivers\mysql,运行
C:\Qt\Qt5.12.9\5.12.9\msvc2017_64\bin\qmake "INCLUDEPATH+=D:/MySQL/include" "LIBS+=D:/MySQL/lib/libmysql.lib" mysql.pro
生成了5个中间文件:

4.编译debug版本
nmake debug
我电脑上报错,缺少mysql.h文件
C:\Qt\Qt5.12.9\5.12.9\src\qtbase\src\plugins\sqldrivers\mysql\qsql_mysql_p.h(60): fatal error C1083: 无法打开包括文件: “mysql.h”: No such file or directory

找了很久,恰好昨天研究时下载了mysql-connector-c-6.1.11-winx64.zip的包,一股脑将这个压缩包include目录下的文件都拷贝到上面的mysql目录

再次运行nmake debug,提示缺少lib文件,将mysql-connector-c-6.1.11-winx64.zip包里的libmysql.lib文件拷贝到提示的D:\MySQL\lib目录

再次运行debug版、release版,都能成功,可以看到生成文件所在目录。
运行nmake install,可以自动将dll文件自动放到你的qt目录。

5.MySQL连接成功:
程序中配置好include目录、lib文件,运行成功

&spm=1001.2101.3001.5002&articleId=155233197&d=1&t=3&u=fa2fc158887148bab5af0e73e593d7c6)
3万+

被折叠的 条评论
为什么被折叠?



