天天看點

windows下QT4.8.6編譯mysql5.7驅動

由于QT4版本沒有自帶編譯好的mysql驅動,隻自帶了sqlite等驅動,是以需要自行編譯驅動。

QT5之後的版本貌似都有自帶mysql驅動。

QT版本:

windows下QT4.8.6編譯mysql5.7驅動

Mysql版本:

windows下QT4.8.6編譯mysql5.7驅動

注意:此處用的是msvc(x86),是以mysql也應該是32位的。之前沒注意版本的比對,導緻編譯出錯。

編譯步驟:

1、下載下傳并安裝QT和Mysql,此處不做詳細介紹

2、将mysql中的lib和include檔案夾拷貝放到沒有空格的路徑中(如果有空格,qmake時會報錯),如:C:\Users\Administrator\Desktop\mysql

windows下QT4.8.6編譯mysql5.7驅動

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

windows下QT4.8.6編譯mysql5.7驅動
windows下QT4.8.6編譯mysql5.7驅動

6、打開VS指令提示視窗,在源碼目錄下執行nmake

windows下QT4.8.6編譯mysql5.7驅動
windows下QT4.8.6編譯mysql5.7驅動

7、錯誤處理

7.1、錯誤類型:fatal error C1083:無法打開包括檔案:”qsql_mysql.h”

此類錯誤一共有三個,根據錯誤提示分别修改對應的檔案,如:

qsql_mysql.h中:

windows下QT4.8.6編譯mysql5.7驅動

client_plugin.h中:

windows下QT4.8.6編譯mysql5.7驅動

my_alloc.h中:

windows下QT4.8.6編譯mysql5.7驅動

這三個檔案均在剛建立的目錄或者源碼目錄下,并将三者的路徑均改為剛建立目錄路徑下對應的檔案

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版本的驅動,如:

windows下QT4.8.6編譯mysql5.7驅動
windows下QT4.8.6編譯mysql5.7驅動

9、從上面兩個檔案夾中找出下面四個檔案拷貝到如:D:\QT\4.8.6\plugins\sqldrivers目錄下

windows下QT4.8.6編譯mysql5.7驅動

到此mysql驅動就編譯成功啦

資源下載下傳:https://download.csdn.net/download/xumingyifrend/11256596

歡迎大家指教,希望大家喜歡

路漫漫其修遠兮,同志仍須努力

繼續閱讀