我們假設你已經成功安裝了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了。