[Interest] Installation Sizes for Applications using Qt

Ben Cottrell bencot at windowslive.com
Fri Aug 27 02:32:30 CEST 2021


So Qt makes sense for large applications, but for smaller ones, it's
more efficient to use individual libraries per platform.

Until Qt is more easily configurable, I cannot justify using it's
libraries in small applications.

On Thu, 2021-08-26 at 07:39 -0700, Thiago Macieira wrote:
> On Thursday, 26 August 2021 00:51:28 PDT BeneschTech LLC wrote:
> > If you are building static, you can use the ld.gold linker which
> > prunes a
> > lot of unused code off, and maybe add in -Os to QMAKE_LFLAGS. It
> > might not
> > hurt to do a second "strip" after your executable is built too. 
> > Anything
> > using location or webkit is going to pull in a lot though.
> 
> Static linking (which is permitted under the LGPLv3 -- you just have
> to 
> provide a way to replace the LGPLv3 content inside your binaries,
> somehow) is 
> not as effective as the feature system that Mitch and I are talking
> about. It 
> helps, of course, by dropping code that can't be reached. But it
> isn't smart 
> enough to figure out some features that are referenced are unneeded.
> 
> Let's say for example that you think you won't need
> QRegularExpression. 
> There's a feature for that ("regularexpression"). However, you will
> use 
> QString and qstring.cpp does reference QRegularExpression directly,
> as does 
> QMetaType and CBOR support know about it (and these features can't be
> disabled), QObject (for child object searching), QDir and
> QMimeDatabase (for 
> wildcard matching), QStandardPaths (parsing XDG ~/.config/user-
> dirs.dirs). And 
> this is QtCore only.
> 
> So even if you don't use QRegularExpression directly, other portions
> of Qt 
> will, so you will include all of it and the requirement to have
> libpcre2 
> regardless if all you do is use static linking.
> 
> On the other hand, if you disable QRegularExpression, you may find
> that 
> QStandardPaths does not work as expected and as documented. That's
> what I 
> meant that I will not accept any bug reports on a less-than-full
> build of Qt.
> 



More information about the Interest mailing list