經過近一天的折騰,終於搞定了MySQL驅動的編譯,使用的是msvc的編譯器,真是很麻煩,網上找了很多資料,都是針對mingw的(這個應該很簡單,下周折騰吧,沒精力了)。使用msvc來編譯,對著教程都不能成功,各種各樣的錯誤,不斷的重裝……今天寫出來我遇到的問題及解決方案,希望遇到這些問題的朋友不用再心力交瘁了,呵呵……
我使用的是Qt 4.8.1和MSVC2010,首先下載:
1.Qt libraries 4.8.1 for Windows (VS 2010, 235 MB)
2.下載Mysql,並全部安裝(我用的是5.5.22-win32),要保證安裝目錄裡有include和lib檔案夾
開始工作:
1.將include和lib檔案夾拷出來放到沒有空格的路徑中,比如我的是在D盤根目錄。
2.lib\libmysql.dll拷到system32檔案夾裡,為了防止報錯
3.使用命令提示字元進入qt源檔案目錄,比如我的:D:\Qt\4.8.1\src\plugins\sqldrivers\mysql
4.執行:qmake –o Makefile INCLUDEPATH+="D:\include" LIBS+="D:\lib\libMySQL.lib" MySQL.pro (INCLUDEPATH是你的MySQL的include檔案路徑,LIBS是你lib所在目錄)
5.這是D:\Qt\4.8.1\src\plugins\sqldrivers\mysql目錄裡應該產生了回應檔,如下:
6.開啟開始菜單中Qt源檔案目錄的Command Prompt
7.執行nmake命令
8.如果提示以下錯誤
開啟D:\Qt\4.8.1\src\sql\drivers\mysql中的qsql_mysql.h檔案,修改第52行,將
#include <mysql.h>修改為mysql.h所在的目錄,比如我的在D盤,修改為#include <D:\include\mysql.h>,然後儲存。
9.繼續nmake,繼續出錯
將D:\lib\libmysql.lib複製到s2010的目錄,如:D:\Program Files\Microsoft Visual Studio 10.0\VC\lib
10.繼續執行nmake,成功了,再執行nmake release,又成功了。這時D:\Qt\4.8.1\src\plugins\sqldrivers\mysql\release和debug目錄如下
出現我們需要的驅動啦!將下面四個檔案拷到D:\Qt\4.8.1\plugins\sqldrivers裡就可以了
雖然就這麼幾步簡單的東西,耗費了我很長的時間,總有不可預料的錯誤產生,下次再來試下Mingw編譯。