軟件環境:Qt5.13.1 + MySQL8.0.18 x64
MySQL 8.0.18 安裝時安裝了選擇了Devlopment 環境。
連接數據庫錯誤如下:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7
由於Qt5.13 默認沒有mysql 的驅動文件,需要自已編譯。
具體步驟如下:
Qt5.13.1 安裝時選上src,因爲要自已編譯mysql plugins
用QtCreate 打開 C:\Qt\Qt5.13.1\5.13.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
#QMAKE_USE += mysql
OTHER_FILES += mysql.json
PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)
INCLUDEPATH += "C:/Program Files/MySQL/MySQL Server 8.0/include"
LIBS += "C:/Program Files/MySQL/MySQL Server 8.0/lib/libmysql.lib"
之後編譯,編譯成功後會在C盤生成 C:\plugins\sqldrivers 和 C:\mkspecs目錄,將C:\plugins\sqldrivers目錄下的的libqsqlmysql.a libqsqlmysqld.a qsqlmysql.dll qsqlmysqld.dll文件複製到 C:\Qt\Qt5.13.1\5.13.1\mingw73_64\plugins\sqldrivers (Qt安裝時我選的編譯工具爲mingw)
將C:\mkspecs目錄下的文件複製到C:\Qt\Qt5.13.1\5.13.1\mingw73_64\mkspecs
參考:
https://www.cnblogs.com/forsee/p/11963832.html
https://blog.csdn.net/cmdn669/article/details/100149825