關於MySql在除錯過程中出現Driver not loaded Driver not loaded的問題的解決辦法
問題描述:
在除錯QT程式的時候出現以下圖中所示問題,由QString str = db.lastError().text().toLocal8Bit(); 得到。導致資料庫一直連線不上。
解決方案:
在這裡我就直接略過已經嘗試並測試失敗的方法,直接寫正確的解決方案。
1、由該str可知,驅動載入失敗,於是我就重新編譯了驅動。
2、編譯驅動的過程如下:
3、首先下載libmysql.lib(該檔案在我的資源中有上傳)和libmysql.dll兩個檔案,我這裡只用了lib這個檔案,將其放在以下目錄,D:\Qt\4.8.5\src\plugins\sqldrivers\mysql;
4、然後編輯D:\Qt\4.8.5\src\plugins\sqldrivers\mysql
5、然後執行qt控制檯視窗,如下圖:
6、切換到D:\Qt\4.8.5\src\plugins\sqldrivers\mysql下,執行qmake;
7、下圖為執行qmake的截圖:
8、執行後會路徑下會產生以下檔案:
9、然後執行vs2010的控制檯工具,如下圖:
10、切換到D:\Qt\4.8.5\src\plugins\sqldrivers\mysql下,然後執行nmake和nmake release(是nmake);
11、執行nmake的截圖:
12、執行nmake release的截圖:
13、此時在D:\Qt\4.8.5\src\plugins\sqldrivers\mysql
14、將以上的四個檔案複製到D:\Qt\4.8.5\plugins\sqldrivers目錄下(在我的資原始檔中我已上傳,是否適合請自行判斷);
15、最後把libmysql.lib和libmysql.dll兩個檔案複製到C:\Windows\System32下;
16、最後測試一遍qt控制檯應用程式,如下:
如果出現以下就表示成功。