[Development] Does Qt 5.6 still depend on ICU?

Roland Winklmeier roland.m.winklmeier at gmail.com
Sat May 7 23:25:16 CEST 2016


Dear Qt Devs,

I'm currently preparing installers for a cross platform application
(Win, Linux, OSX). I have investigated, which dependencies apart from
the Qt5 libraries themselves are need to be shipped as well. But I'm a
bit confused about the role of ICU.

>From wiki pages  (https://wiki.qt.io/Qt_5.6_Tools_and_Versions and
https://wiki.qt.io/Building_Qt_5_from_Git), I understood that, ICU is
only required for QtWebkit. I also learned that the ICU version shipped
in Qt 5.6.0 is 56.1.

However, I found the following facts a bit inconsistent:
* Windows is actually shipping 54.1 instead of 56.1. Was the upgrade
missed or is this on purpose? To me it is a minor issue, but I'm curious.
* Official Windows QtCore binary is not linked against ICU libraries (at
least from what I can see in dependency walker). Does it link at runtime?
* Official Linux QtCore binary in contrast is linked against ICU
(verified with ldd).
* Official OS X QtCore binary again is not linked against ICU.

Now my question:
Is ICU mandatory for all platforms or maybe only for Linux? Ideally I
could just skip shipping it in my installer, since I'm using a custom
Qt5 build on my Debian server (I did not yet manage to use the official
installer on a headless server with an install script). But I want to be
sure, what features I'm loosing before any decision. ?

*guess mode on*
I guess, ICU was shipped previously because of QtWebkit. Since QtWebkit
is no longer shipped in official installers, could ICU also be removed?
I know what ICU is, but why is it shipped without linking against it?
*guess mode off*

Cheers Roland



More information about the Development mailing list