我們假設你已經成功安裝了MySQL(我用的是MySQL的安裝版)和QT,MySQL的安裝路徑采用的是其預設安裝路徑,也就是安裝在了C:\Program Files下。下面開始正式講解QT通路安裝版MySQL的驅動的編譯方法。
第一步:
因為MySQL的安裝路徑下有空格,而編譯通路MySQL的驅動是不能有空格的,是以,我們先在C槽建立一個檔案夾,命名為mysql,再将MySQL安裝檔案下的lib和include檔案夾拷貝到剛才建立的那個檔案夾下。
第二步:
打開打開QTCommand,我們可以看到起已經有一條預設路徑,(因為我的是安裝在D:\Qt檔案夾下,是以預設路徑為D:\Qt\4.7.3)
接着輸入cd C:\mysq\lib轉到C:\mysq\lib庫檔案夾下
再輸入reimp -d libmysql.lib (生成 libmysql.def檔案)
接着輸入dlltool -k -d libmysql.def -l libmysql.a (生成 libmysql.a檔案),接着我們就可以看到出來了: libmysql.def libmysql.a這兩個檔案。
第三步:
當我們準備好libmysql.a這個庫檔案之後,我們就可以開始編譯之旅了。
我們輸入cd %QTDIR%/src/plugins/sqldrivers/mysql,跳轉到QT4.7的安裝目錄下的src/plugins/sqldrivers/mysql檔案夾下(我的是D:\Qt\4.7.3\src\plugins\sqldrivers\mysql)
接着輸入qmake -o Makefile "INCLUDEPATH+=C:/mysql/include" "LIBS+=C:/mysql/LIB/libmysql.a" mysql.pro
(此處特别小心,該路徑指向的是我們自己在C槽建立的那個mysql檔案夾,且libmysql.a得注意大小寫的問題,否則會不成功),此時,我們得到了makefile,
接着輸入make,此時D:\Qt\4.7.3\src\plugins\sqldrivers\mysql下的debug檔案夾裡邊出現調試版本的了,也就是libqsqlmysqld4.a 和 qsqlmysqld4.dll
接着輸入make release , 此時D:\Qt\4.7.3\src\plugins\sqldrivers\mysql下的release檔案夾裡邊出現了release版本,也就是libqsqlmysql4.a 和 qsqlmysql4.dll
接着我們把生成的libqsqlmysqld4.a qsqlmysqld4.dll libqsqlmysql4.a qsqlmysql4.dll 四個檔案拷貝到QT的驅動目錄下,即D:\Qt\4.7.3\plugins\sqldrivers目錄下
最後我們再把mysql安裝目錄下lib檔案中的libmysql.dll拷貝到QT安裝目錄下的bin檔案夾中(否則會無法打開與資料庫的連接配接)。
在文章的最後,可能會有一部分使用MyEclipse/Eclipse的人在使用QT時也去右鍵單擊再添加庫,最後安裝以上方法編譯成功了,該拷貝的也拷貝了,可就是會出現File Not Found的錯誤的,隻需要在pro檔案的最後,把因為右鍵單擊添加庫檔案而自動增加的那幾行代碼删除就OK了。