簡體   English   中英

如何讓Qt應用程序更小

[英]How can I make Qt app smaller

我是qt的新手。我做了一個非常簡單的qt程序,因為我沒有商業許可證,我使用了依賴walker並將我的qtsdk文件夾中的所有.dll添加到我的release文件夾中。 它工作得很好。但是當我檢查它的大小時它非常大。我的問題是如何讓它變小。還解釋了靜態庫和動態庫之間的區別以及它如何影響應用程序的大小。有多少種方法有沒有購買商業許可證使qt應用程序更小。任何幫助表示贊賞。

通常,沒有什么可以做的,以顯着減少應用程序及其依賴項的大小。 有些事我認為你沒有考慮過,或者必要時可以做到:

  1. 您不需要所有Qt DLL。 根據您使用的Qt的哪些部分,您可以省略QtWebKit等內容。 這可能會將您的應用程序重新分配大小減少一半。

  2. 如果您的可執行文件很大,請嘗試使用選項進行編譯以優化大小而不是速度。 根據您的應用,最終性能應該接近或甚至優於通常的優化。 這是用於GCC的-Os和用於MSVC的/Os

  3. 剝去調試符號的DLL和可執行文件。 發布版本應該已經自動完成。 我希望你不要抱怨調試二進制文件的大小......

  4. UPX之類的東西壓縮二進制文件。 這只是化妝品,但也有一些微妙的缺點

  5. 用上面的選項重新編譯Qt,這可能會占總Qt DLL大小的5-10%。 您還可以禁用不需要的功能(如未使用的Qt樣式),從而進一步減小DLL的大小。 但這很乏味,可能不值得,因為每當你更新到最新版本時你都需要重新編譯Qt。


話雖這么說,如果您的代碼是GPL許可,那么沒有什么能阻止您靜態鏈接Qt。 您需要自己編譯靜態Qt庫,或者在某處找到它們。 通常,靜態鏈接會增加可執行文件的大小,但可能允許編譯器省略通常仍存在於DLL版本中的圖像中未使用的代碼。 所以,是的,靜態鏈接可能會使您的應用程序的總大小變小。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM