Windows xp 下編譯qt的mysql驅動

2021-05-26 10:59:32 字數 1319 閱讀 3308

mysql 5.0.22版本

qt-sdk-win-opensource-2010.02.1.exe

以上軟體我都是安裝在d盤下,分別是:d:\mysql ,和d:\qt4

下面是編譯的過程:

1.

使用reimp生成libmysql.a

,然後把bin目錄下的檔案都拷貝到d:\qt4\mingw\bin目錄下

mingw:乙個可自由使用和自由發布的windows特定標頭檔案和使用gnu工具集導入庫的集合,允許你生成本地的windows程式而不需要第三方c執行時庫

a)開啟dos命令列,進入到d:\mysql\lib\opt,輸入命令reimp -d libmysql.lib,回車,執行

b)接著輸入dlltool -k -d libmysql.def -l libmysql.a,回車,執行,這樣在目錄d:\mysql\lib\opt下就生成了libmysql.a檔案

注:要執行reimp命令和dlltool命令,需要把對應的目錄qt4\mingw\bin加到環境變數中(在命令列中直接輸入reimp或dlltool,就可以檢視各自的用法)

2.

編譯mysql驅動

a)執行qt-command-prompt(在開始選單中)

進入目錄d:\qt4\qt\src\plugins\sqldrivers\mysql,輸入命令qmake -o makefile "includepath+=d:\mysql\include" "libs+=d:\mysql\lib\opt\libmysql.a" mysql.pro,回車,執行(includepath表示mysql源檔案目錄)

b)接著輸入mingw32-make,回車,執行進行編譯

c)

最後在d:\qt4\qt\plugins\sqldrivers目錄下生成四個檔案,分別是libqsqlmysql4.a,libqsqlmysqld4.a,qsqlmysql4.dll,qsqlmysqld4.dll

最後編寫乙個簡單的測試程式:

else }

int main(int argc, char *argv)

結果:如果出現了錯誤:qmysql driver not loaded,把libmysql.dll對應的目錄(mysql/lib/),加到環境變數中。

windows下 Qt 靜態編譯

似乎一直沒有靜態編譯qt的需求 一不在沒有管理員許可權的機器上使用,二不製作綠色軟體,三.動態編譯工作得很好,再配合 nsis 製作乙個安裝包,有什麼必要靜態編譯呢?正好利用週末時間,自己嘗試編譯一下,順便整理一下,看看到底會發生什麼 儘管以後還是用動態編譯 沒特殊說明的話,以下討論的是 msvc2...

linux下靜態編譯Qt

3.開始編譯。a 靜態編譯 選項為 sudo configure static release c 11 qt zlib qt libpng qt libjpeg nomakeexamples qt sql sqlite qt sql psql qt sql mysql qt sql oci no ...

windows下 Qt 靜態編譯

似乎一直沒有靜態編譯qt的需求 一不在沒有管理員許可權的機器上使用,二不製作綠色軟體,三.動態編譯工作得很好,再配合 nsis 製作乙個安裝包,有什麼必要靜態編譯呢?正好利用週末時間,自己嘗試編譯一下,順便整理一下,看看到底會發生什麼 儘管以後還是用動態編譯 沒特殊說明的話,以下討論的是 msvc2...