Windows下靜態編譯QT程式

2021-08-31 04:15:51 字數 658 閱讀 3958

windows下編寫的qt程式拿到別的機器上執行時總是要打包dll,編譯成靜態程式更方便一些。

編譯前先修改一下spec:(下面是對於vs2008,如果是2005,則去找win32-msvc2005)

mkspecs ----> win32-msvc2008 ----> qmake.conf

修改qmake_cflags_release = -o2 -md 為qmake_cflags_release = -o2 -mt

修改qmake_cflags_debug 為 = -zi -mtd

修改這兒是因為qt configure時的static選項對核心庫無效,核心庫仍然是動態鏈結的。另外-zi也可以去掉,不生成pdb檔案,如果不除錯qt內部就沒必要要。

執行:configure -release -static -fast -qt-sql-odbc -qt-sql-sqlite -no-webkit

nmake

等待個1,2小時的編譯,生成一堆的.lib檔案。

如果需要webkit就不要加-no-webkit引數

在vs中修改工程的屬性:

配置屬性 ----> c/c++ ----> **生成 ---->執行時庫 ----> /mt or /mtd

這樣最終生成的程式就是靜態程式了,拿到沒有qt庫的機器上也可以執行了。

windows下 Qt 靜態編譯

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

windows下 Qt 靜態編譯

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

windows 下 QT 5 6 靜態編譯

請遵守lgpl協議。編譯準備 visual studio 2010 qt5.6.1 source code google angle source code directx sdk 編譯的電腦顯示卡比較老opengl版本公升不上去,所以使用angle google的opengle es轉到direc...