[Interest] Qt .dlls size reduction

Jérôme Godbout jerome at bodycad.com
Fri Aug 7 15:48:34 CEST 2015


"I have task to reduce the size of an installer of an application from my
company"

Do you mean the installer itself or the installed program?

Anyway you may want to take a look at the fat icudt5X.dll, this can easily
be compressed with something like UPX http://upx.sourceforge.net/
This could save you some space. Another big one are QtWebKit (depending on
the Qt version).

If you generate an .msi (with Wix, InstallShield or the like) try to turn
on the compression to reduce the .msi file size.

On a third note, use Dependency Walker http://www.dependencywalker.com/ to
find the only needed dll for your application and avoid packaging the other.

Jerome

On Fri, Aug 7, 2015 at 9:37 AM, Mike Chinander <chinander at gmail.com> wrote:

> Are you including only the minimal set of Qt dlls needed for your
> application?
>
> On Fri, Aug 7, 2015 at 8:31 AM, Rafael Machado <
> rafaelrodrigues.machado at gmail.com> wrote:
>
>> Hi everyone
>>
>> This is my first question on this mail list, so sorry for possible
>> trivial questions.
>>
>> I have task to reduce the size of an installer of an application from my
>> company.
>> What I checked is that the qt dlls that we use are kind of big, so my
>> idea was to try to reduce these dlls sizes.
>>
>> To do it I have compiled qt removing several modules that we don't use.
>> Something like:
>>
>> configure -release -confirm-license -opensource -nomake examples -nomake
>> tests -no-evdev -no-mtdev -no-inotify -no-system-proxies -no-fontconfig
>> -no-harfbuzz -no-plugin-manifests -no-ssl -no-openssl -no-dbus
>> -no-audio-backend -no-wmf-backend -no-qml-debug -no-directwrite
>> -no-direct2d -no-native-gestures -no-style-windows -no-style-windowsxp
>> -no-style-windowsvista -no-style-fusion -skip qt3d -skip qtactiveqt -skip
>> qtandroidextras -skip qtdoc -skip qtdocgallery -skip qtfeedback -skip
>> qtlocation -skip qtmacextras -skip qtmultimedia -skip qtrepotools -skip
>> qtscript -skip qtsensors -skip qtserialport -skip qtsvg -skip qttools -skip
>> qttranslations -skip qtwayland -skip qtwebengine -skip qtwebkit -skip
>> qtwebkit-examples -skip qtwinextras -skip qtx11extras
>>
>> After doing this, the qtcore.dll was reduced from 4.928.000 bytes
>> to 4.617.728 bytes.
>>
>> I have checked at the documentation, and there are some options to remove
>> some features from the packages. For example, in case, we don't need the
>> feature UDPSOCKET for example, so adding to the configuration command the
>> option -no-feature-UDPSOCKET should remove unneeded things. (Features found
>> at C:\cygwin\home\.............\qtbase\src\corelib\global\qfeatures.txt)
>>
>> The problem is that the option to remove features seems to be available
>> just for linux-embedded and not for the windows version of qt.
>> Is my understanding correct ?
>>
>> The last question. Is if is there any other option to try to reduce the
>> .dll sizes ?
>>
>> Thanks for the help.
>>
>> Thanks and Regards
>> Rafael R. Machado
>>
>> _______________________________________________
>> Interest mailing list
>> Interest at qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/interest
>>
>>
>
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20150807/7ba90c0f/attachment.html>


More information about the Interest mailing list