由于QT4版本沒有自帶編譯好的mysql驅動,隻自帶了sqlite等驅動,是以需要自行編譯驅動。
QT5之後的版本貌似都有自帶mysql驅動。
QT版本:
Mysql版本:
注意:此處用的是msvc(x86),是以mysql也應該是32位的。之前沒注意版本的比對,導緻編譯出錯。
編譯步驟:
1、下載下傳并安裝QT和Mysql,此處不做詳細介紹
2、将mysql中的lib和include檔案夾拷貝放到沒有空格的路徑中(如果有空格,qmake時會報錯),如:C:\Users\Administrator\Desktop\mysql
3、将lib目錄下的libmysql.dll拷到system32檔案夾中,如:C:\Windows\System32
4、使用指令提示符進入qt源檔案目錄,如:D:\QT\4.8.6\src\plugins\sqldrivers\mysql
5、執行qmake –o Makefile INCLUDEPATH+=”……\mysql\include” LIBS+=”……\mysql\lib\libmysql.lib” mysql.pro(注意:此處是你剛剛建立的目錄路徑,不能寫錯,否則在編譯時将找不到相關的lib檔案等),此處會在源目錄下生成相關檔案,如:Makefile
6、打開VS指令提示視窗,在源碼目錄下執行nmake
7、錯誤處理
7.1、錯誤類型:fatal error C1083:無法打開包括檔案:”qsql_mysql.h”
此類錯誤一共有三個,根據錯誤提示分别修改對應的檔案,如:
qsql_mysql.h中:
client_plugin.h中:
my_alloc.h中:
這三個檔案均在剛建立的目錄或者源碼目錄下,并将三者的路徑均改為剛建立目錄路徑下對應的檔案
7.2、繼續nmake,錯誤類型:fatal error LNK1104:無法打開檔案”……/libmysql.lib”
這是因為在qmake時路徑沒有寫對的原因,将libmysql.lib複制到…\VS\VC\lib目錄下,如:D:\Visual Studio\VS\VC\lib,然後重新qmake後nmake
8、編譯成功
執行:nmake與nmake release分别在mysql源碼目錄下生成debug和release版本的驅動,如:
9、從上面兩個檔案夾中找出下面四個檔案拷貝到如:D:\QT\4.8.6\plugins\sqldrivers目錄下
到此mysql驅動就編譯成功啦
資源下載下傳:https://download.csdn.net/download/xumingyifrend/11256596
歡迎大家指教,希望大家喜歡
路漫漫其修遠兮,同志仍須努力