1. 程式人生 > >關於MySql在除錯過程中出現Driver not loaded Driver not loaded的問題的解決辦法

關於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

目錄下的mysql.pro檔案,在其中加入以下內容:

 

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下,然後執行nmakenmake release(是nmake);

11、執行nmake的截圖:

 

12、執行nmake release的截圖:

 

13、此時在D:\Qt\4.8.5\src\plugins\sqldrivers\mysql

目錄的deubgrelease下回分別產生如下檔案:

 

 

14、將以上的四個檔案複製到D:\Qt\4.8.5\plugins\sqldrivers目錄下(在我的資原始檔中我已上傳,是否適合請自行判斷);

15、最後把libmysql.liblibmysql.dll兩個檔案複製到C:\Windows\System32下;

16、最後測試一遍qt控制檯應用程式,如下:

 

如果出現以下就表示成功。