手動編譯適合自己Qt版本的MySQL。
1、下載MySQL,解壓到D盤,如D:\mysql-8.0.20-winx64
2、安裝Qt,一定勾選安裝源文件。若未安裝源文件,可以單獨下載解壓。
用Qt打開Qt源文件中的項目 \qt-everywhere-src-5.14.2\qtbase\src\plugins\sqldrivers\mysql\mysql.pro
pro中添加
INCLUDEPATH +="D:\mysql-8.0.20-winx64\include" LIBS +="D:\mysql-8.0.20-winx64\lib\libmysql.lib" DESTDIR = ../mysql/lib/
pro中屏蔽
#QMAKE_USE += mysql
點擊小錘子logo編譯,報錯也無妨。在這個項目目錄中,會生成lib文件夾。
拷貝里面的四個文件到Qt安裝路徑 D:\Qt5.14.2\5.14.2\msvc2017_64\plugins\sqldrivers 中
拷貝 D:\mysql-8.0.20-winx64\lib中的 libmysql.dll到Qt的bin目錄
3、MySQL(zip版)安裝教程
3.1 D:\mysql-8.0.20-winx64\bin 添加系統環境變量path中
3.2 http://www.cppcns.com/shujuku/mysql/283231.html
【Qt測試】
pro中添加
QT += sql
cpp內容
#include <QCoreApplication> #include<QDebug> #include<QStringList> #include<QSqlQuery> #include<QSqlError> #include<QSqlDatabase> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); qDebug()<<"可以使用的數據庫"; QStringList drivers=QSqlDatabase::drivers(); foreach(QString driver,drivers) qDebug()<<driver; QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); //連接的MYSQL的數據庫驅動 db.setHostName("localhost"); //主機名 db.setPort(3306); //端口 db.setDatabaseName("mysql"); //數據庫名 db.setUserName("root"); //用戶名 db.setPassword("123456"); //密碼 db.open(); //測試連接 if(!db.open()) { qDebug()<<"不能連接"<<"connect to mysql error"<<db.lastError().text(); return 0; } else { qDebug()<<"連接成功"<<"connect to mysql OK"; } db.close(); return a.exec(); }