安装Qt组件Sources
自编译MySQL驱动程序
利用Qt Creator打开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
include(../qsqldriverbase.pri)
#下面是添加的内容
include(C:\QT\5.15.2\Src\qtbase\src\plugins\sqldrivers\configure.pri)
INCLUDEPATH += $$quote(C:\Program Files\MySQL\MySQL Server 8.0\include)
LIBS += -L$$quote(C:\Program Files\MySQL\MySQL Server 8.0\lib) -llibmysql
DEPENDPATH += $$quote(C:\Program Files\MySQL\MySQL Server 8.0\include)
打开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
修改MSVC编译器并构建
切换目录
根据上面的目录,可以切换到如下目录
D:\Qt\5.15.2\msvc2019_64\qtbase\src\plugins\sqldrivers\plugins\sqldrivers
复制如下图4个文件
将复制的4个文件粘贴到如下位置
D:\Qt\5.15.2\msvc2019_64\plugins\sqldrivers
复制MySQL下的文件
配置CMakeLists.txt文件
# 用于查找 Qt5包,并确保找到Widgets、SerialPort模块
find_package(QT NAMES Qt5 REQUIRED COMPONENTS Widgets SerialPort Sql)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets SerialPort Sql)
......
# 链接Qt库,这里是链接了Qt下面的Widgets库和SerialPort库,OpenCV库
target_link_libraries(NaMi PRIVATE Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::SerialPort ${OpenCV_LIBS} Qt5::Sql)