Qt用Mingw編譯MySQL驅動

2021-06-08 16:27:16 字數 2121 閱讀 4832

ac os x編譯安裝mysql是件非常輕鬆的活,在windows裡卻花了很久。

系統: windows

qt: 直接使用qt sdk安裝的,所以得手動把bin目錄設定到環境路徑下

黃色背景部分為關鍵部分

總的步驟:

1. 生成mingw使用的mysql的libmysql.a檔案

2. qmake生成mysql.pro檔案

3. 把includepath和libs的內容加入到mysql.pro檔案

4. make, make release 生成mysql的驅動檔案

5. 複製生成的驅動檔案到qt的資料庫驅動資料夾

6. 複製mysql的lib/libmysql.dll到qt的bin資料夾

mysql: 

安裝時不要用經典安裝,選擇完全安裝或者自定義把頭檔案和庫勾選上,這樣安裝後會有for c/c++的標頭檔案和庫目錄,mysql我就安裝在c盤根目錄下了

因為這裡我們使用mingw來編譯驅動,mysql提供的這個libmysql.lib我們還不能直接用(如果用微軟的編譯器就不用這樣了),我們需要用個工具轉成*.a來用。

解壓我們只用remip.exe這個東西,把他放在你的mingw/bin和那些make.exe放一起就行。

cd c:/mysql/lib

reimp -d libmysql.lib

(生成 libmysql.def檔案)

dlltool -k -d libmysql.def -l libmysql.a

(生成 libmysql.a檔案)

over了,出來這2個東西了。

好了需要的libmysql.a準備好了

下面開始編譯之旅:

來到qt mysql驅動的源程式目錄,有個cpp檔案和乙個qt專案檔案。

cd %qtdir%/src/plugins/sqldrivers/mysql (當前目錄轉到源程式目錄)

qmake -o makefile "includepath+=c:/mysql/include" "libs+=c:/mysql/lib/libmysql.a" mysql.pro

(如果你的mysql安裝在其他地方,如果路徑上有空格之類的,直接複製include和lib目錄到c盤根目錄下的mysql目錄好了,方便一會寫路徑。)

接下來的步驟很關鍵,開始的時候沒有使用下面的方式,弄了很久都不行。

在剛剛生成的

mysql.pro中加入以下:

includepath+="c:/mysql/include"

libs+="c:/mysql/lib/libmysql.lib"

headers =../../../sql/drivers/mysql/qsql_mysql.h

sources = main.cpp\

../../../sql/drivers/mysql/qsql_mysql.cpp

然後make

make release

至此在debug和release目錄裡生成了下面的這四個檔案

複製上面的這4個檔案到qt的plugins/sqldrivers目錄:例如我的:c:/qtsdk/desktop/qt/4.7.4/mingw/plugins/sqldrivers

同時也要把mysql/lib/libmysql.dll這個檔案複製到qt的bin目錄:例如我的:c:/qtsdk/desktop/qt/4.7.4/mingw/bin

使用mingw32編譯QT下mysql驅動的流程

我已經編譯好的qt mysql驅動在 http download.csdn.net source 2794174 這個編譯的過程如下 首先安裝qt creator,我用的版本是2010.05,並且已經整合了mingw32 2.在c盤下,新建c mysql mysql51目錄,後將c program ...

用MinGW編譯PostgreSQL的詳細方法

2010年做了乙個精簡版的postgresql 8.4.4,依照文件推薦的方法用vc 2005編譯,但是編譯出來的結果執行不夠穩定,pg dump和pg restore都異常退出,提示記憶體不能為read。改用mingw和gcc 4.5編譯後,問題解決。現在 postgresql 9.1.3 出來了...

Qt 應用之 MinGW編譯 並使用boost庫

ps 移植步驟 2.開啟mingw 最好是就用qt 自帶的,我這裡開啟的是qt5.12.6 mingw 7.3.0 32 bit.如下圖 3.在命令列cd 到 boost 1 66 0 tools build src engine 4.執行 build.bat gcc,在當前目錄將會生成bin.nt...