回覆列表
-
1 # 跳傘塔羅牌
-
2 # 畢加索21人
Qt預設的編譯方式是動態編譯的,但是有時候編寫的程式要釋出出去,帶很多動態庫檔案是很繁瑣的,此時就需要靜態編譯程式,Qt要實現靜態編譯必須庫檔案也是靜態編譯的,可以用這個命令編譯靜態庫:
1.將C:\Qt\2010.05\qt\mkspecs\win32-g++\
qmake.conf
檔案中的QMAKE_LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc 改為 QMAKE_LFLAGS = -static -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc2.在開始選單裡找到Qt Command Prompt並執行,輸入命令: configure -static -debug-and-release -no-exceptions -L "C:\Qt\2010.05\qt\include" -L "C:\Qt\2010.05\qt\lib" -L指定一下路徑,防止用到vc的標頭檔案 選擇開源:O;選擇license:y;
3.上一條命令執行成功後再輸入命令: mingw32-make sub-src 等1 ~3 小時可能就執行完了 完成後就可以了。
Qt預設的編譯方式是動態編譯的,但是有時候編寫的程式要釋出出去,帶很多動態庫檔案是很繁瑣的,此時就需要靜態編譯程式,Qt要實現靜態編譯必須庫檔案也是靜態編譯的,可以用這個命令編譯靜態庫:
1.將C:\Qt\2010.05\qt\mkspecs\win32-g++\qmake.conf檔案中的QMAKE_LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc 改為 QMAKE_LFLAGS = -static -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
2.在開始選單裡找到Qt Command Prompt並執行,輸入命令: configure -static -debug-and-release -no-exceptions -L "C:\Qt\2010.05\qt\include" -L "C:\Qt\2010.05\qt\lib" -L指定一下路徑,防止用到vc的頭文