qt56靜態編譯
Ⅰ VS2015靜態編譯QT5.6,有人成功過嗎
QT 5.5.1 VS2015 靜態編譯
編譯參數如下:
configure -confirm-license -opensource -platform win32-msvc2015 -debug-and-release -static -prefix "c:\Qt\5.5.1-static-vs2015" -make libs -nomake tests -nomake examples
我的工程用到了這些庫
qtpcred.lib
Ws2_32.lib
Qt5Cored.lib
qtharfbuzzngd.lib
opengl32.lib
Qt5Guid.lib
d3d9.lib
d3dx9.lib
ddraw.lib
D3D11.lib
dxguid.lib
Qt5Widgetsd.lib
Qt5WinExtrasd.lib
imm32.lib
qwindowsd.lib
winmm.lib
qtfreetyped.lib
Qt5PlatformSupportd.lib
Ⅱ 使用Qt靜態庫為什麼運行出錯
因為鏈接的是qt的動態庫,在沒有qt動態庫的系統上肯定是運行不了的。
有兩種方法,
一種是靜態編譯,但會讓運行文件變大。
二種就是把動態庫和程序一起打包出去,路徑設置
Ⅲ Qt 中如何使用動態庫.so文件或者靜態庫.a文件
用靜態的編譯好程序,把動態的放到程序運行時的目錄應該就會自動調用的
Ⅳ Qt Creator 怎樣設置才能實現靜態編譯
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的頭文
Ⅳ 請哪位來解釋一下Qt靜態編譯和動態編譯的區別
靜態編譯與動態編譯的區別:
1、動態編譯的可執行文件需要附帶一個的動態鏈接庫,在執行時,需要調用其對應動態鏈接庫中的命令。
所以其優點一方面是縮小了執行文件本身的體積,另一方面是加快了編譯速度,節省了系統資源。
缺點一是哪怕是很簡單的程序,只用到了鏈接庫中的一兩條命令,也需要附帶一個相對龐大的鏈接庫;二是如果其他計算機上沒有安裝對應的運行庫,則用動態編譯的可執行文件就不能運行。
Ⅵ qt靜態庫編譯,動態編譯和靜態編譯可共存嗎
通常不需要在系統變數中加入Qt庫的位置的。Qt Creator可以自動掃描到系統中存在的Qt庫版本,如果掃描不到,可以通過Creator的 Tool->Options->Qt4中添加靜態庫的路徑。而QDevelop雖然沒有那麼智能,但是可以手動指定INCLUDE和LIB的位置。或許,這根本就不是一個問題。如果懷念動態庫,或者在產品發布之前並不想體驗靜態編譯那種蝸牛爬一般的速度,可以在pro文件中指定CONFIG += shared,而且,要記得在Project中選擇相應的版本。
Ⅶ QT5靜態編譯無法載入資料庫插件
今天終於自己靜態編譯過了QT5.3.1, 成功用在項目上了, 記錄下configure指令.
configure -confirm-license -opensource -platform win32-msvc2013 -mp -debug-and-release -static -prefix "E:\Qt\5.3.1-static-vs2013" -qt-sql-sqlite -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -qt-freetype -no-qml-debug -no-angle -nomake tests -nomake examples -skip qtwebkit
其中 -mp 是啟用多核編譯的開關
Ⅷ qt 5添加 windows 靜態庫
qt中添加windows vs 生成的靜態庫,需要注意:
qt使用的編譯器版本要和vs版本,操作系統位數要對應。
例如:用 vs2015 x86生成的了release 和debug兩種靜態庫
相應的QT也要配置vs2015 32 編譯器。
把之前vs 生成的靜態庫的頭文件和庫准備好
打開qt 中打卡 工程 .pro文件 右鍵選擇 添加庫選擇外部庫
這樣我們release和debug版的靜態庫都添加近工程了。
如果之前已經生成過編譯後的文件夾
再次生成時可能遇到 error LNK2019: 無法解析的外部符號 之類的錯誤信息。
這個問題只要把上面的文件夾刪除,從新編譯即可。
Ⅸ 哪位知道 在Mac下怎樣編譯Qt的靜態應用程序
靜態編譯會使程序變大,如果需要大量的qt程序,你可以編譯動態庫的程序,然後將這些程序禪腔仿需要的庫,也移圓橋植賀纖過去就可以了!這樣會節省很多的空間