現(xiàn)象:
QT5.15.1訪問(wèn)MySQL5.7數(shù)據(jù)庫(kù)報(bào)錯(cuò):QMYSQL driver not loaded
原因:QT5默認(rèn)沒(méi)有安裝MySQL驅(qū)動(dòng)。
我尼瑪,QT開(kāi)發(fā)者是咋想的?給我DB訪問(wèn)組件卻無(wú)法訪問(wèn)DB,這不是挖坑讓你爹跳嗎?你賣瓜不保熟啊!
連SQLite驅(qū)動(dòng)都有,最常用的MySQL卻不支持,你這套QT豈不是半成品嗎,挺會(huì)省事啊,別嘚兒喝的。
解決:
1、按照網(wǎng)上資料介紹,把MySQL安裝路徑下
C:\Program Files\MySQL\MySQL Server 5.7\lib
里面的libmysql.dll復(fù)制到
QT的安裝路徑下
C:\Qt\5.15.1\msvc2019_64\bin
再次運(yùn)行程序訪問(wèn)DB,還是失敗,仍然報(bào)錯(cuò):QMYSQL driver not loaded
發(fā)帖的狗懶子,自己動(dòng)手試過(guò)沒(méi)有啊,就特么瞎嗶嗶!
2、打開(kāi)QT安裝路徑下
C:\Qt\5.15.1\msvc2019_64\plugins\sqldrivers
看到其中各種類型的驅(qū)動(dòng)庫(kù)dll,包括sqlite等,唯獨(dú)沒(méi)有和mysql有關(guān)的dll文件,
問(wèn)題應(yīng)該就是這里了,那就想辦法弄個(gè)mysql的驅(qū)動(dòng)庫(kù)來(lái)
3、打開(kāi)QT安裝路徑下的源碼
C:\Qt\5.15.1\Src\qtbase\src\plugins\sqldrivers\mysql
雙擊用QTCreator打開(kāi)mysql.pro
(1)打開(kāi)mysql.pro文件
注釋掉
QMAKE_USE += mysql結(jié)尾添加幾行代碼:
# 添加你自己的mysql安裝目錄下的include文件夾
INCLUDEPATH += "C:\Program Files\MySQL\MySQL Server 5.7\include"
# 添加你的mysql安裝目錄下的lib文件夾下的libmysql.lib文件
LIBS += "C:\Program Files\MySQL\MySQL Server 5.7\lib\libmysql.lib"
# 設(shè)置編譯好的qmysql.dll放置的目錄,不然你可能不知道會(huì)生成在哪。
DESTDIR = ../mysql/mysqlDll
(2)打開(kāi)qsqldriverbase.pri文件
注釋掉include($$shadowed($$PWD)/qtsqldrivers-config.pri)
當(dāng)前路徑的上層路徑sqldrivers\中并沒(méi)有這個(gè)qtsqldrivers-config.pri文件,只有configure.pri文件。
改為:
#include($$shadowed($$PWD)/qtsqldrivers-config.pri)
include(./configure.pri)
尼瑪,QT的開(kāi)發(fā)者給個(gè)源碼也是陷阱重重啊,向你問(wèn)好:尼瑪拉格-彼得!
(1)(2)兩步工作做完,開(kāi)始點(diǎn)錘子圖標(biāo)編譯。
編譯失敗,報(bào)錯(cuò)找不到<mysql.h>文件。
再查資料,似乎是QT不能識(shí)別路徑中的空格。
把MySQL安裝路徑下的C:\Program Files\MySQL\MySQL Server 5.7文件夾整個(gè)拷貝出來(lái)并改名為C:\MySQL5
把步驟(1)中添加的代碼中的路徑改為
INCLUDEPATH += "C:\MySQL5\include"
LIBS += "C:\MySQL5\lib\libmysql.lib"
再次編譯,又失敗,還是報(bào)錯(cuò)找不到<mysql.h>文件
這次似乎是斜杠的問(wèn)題
把步驟(1)中添加的代碼中的路徑再改為
INCLUDEPATH += "C:/MySQL5/include"
LIBS += "C:/MySQL5/lib/libmysql.lib"
再次編譯,成功!(有可能編譯失敗,但已生成qsqlmysqld.dll)
4、把生成的qsqlmysqld.dll拷貝到QT安裝路徑下的驅(qū)動(dòng)目錄
C:\Qt\5.15.1\msvc2019_64\plugins\sqldrivers
再次運(yùn)行程序,訪問(wèn)DB,成功!
O了!
牛逼-克拉斯!
尼瑪拉格-彼得!
尼瑪,真不容易啊!
尼瑪,QT的開(kāi)發(fā)者,幸虧你爹我扛造!真應(yīng)該送你們?nèi)シ坡少e皮帶大隊(duì)網(wǎng)絡(luò)科技有限公司進(jìn)修啊!
參考這哥們:
https://www.cnblogs.com/dz-study/p/12382837.html
posted on 2021-10-15 10:32
小王 閱讀(2668)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
DB 、
Qt