簡體   English   中英

減少Qt GUI應用程序的大小

[英]Decrease Qt GUI application size

我正在學習使用Qt Creator開發應用程序。 我在Windows下構建了一個簡單的應用程序,取決於使用mingwm10.dll,QtCore4.dll,QtGui4.dll,QtNetwork4.dll。 在QtQui4.dll之外,我只使用了幾個小部件,並且不需要所有其他的...是否可以縮小QtGui4.dll的大小或者做其他事情以減少應用程序的部署大小? 靜態鏈接怎么樣? 它會嵌入整個dll,還是只使用它的一部分? 還有可能Qt靜態地和一些動態鏈接一些dll嗎?

通過刪除某些功能無法縮小QtGui4.dll。 奇趣科技正在研究這個問題 ,但好的解決方案似乎相當遙遠:

靜態鏈接,我認為它在Windows上很成問題。 每次我嘗試,這都是一場噩夢。

所以,看起來你常常遇到常規DLL。 你唯一可以做的就是(我為我的Qt應用做的):

  • 使用UPX壓縮你的DLL

要么

  • 在安裝程序中使用強力壓縮

如果你已經UPX你的dll,你不能通過安裝程序壓縮進一步減少它,但這可以減少其他文件。

最好的方法是使用configure手動配置Qt庫。 通過發行

configure --help

您將看到許多可能有助於減少磁盤和內存占用的選項。 例如

--no-stl
--no-exceptions

可以減少應用程序的占用空間。 您還可以修改mkspec以使用更積極的編譯器優化標志。

如果你靜態鏈接你最終得到一個1.5GB的exe,你犧牲了一些功能,如插件。 所以除非你不想發布dll,否則它並不值得。 但是,是的,您可以嘗試Henrik的建議,也可以排除Webkit,這可能是最大的代碼塊。

暫無
暫無

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

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