[Development] Does Qt 5.6 still depend on ICU?

Thiago Macieira thiago.macieira at intel.com
Sun May 8 01:10:53 CEST 2016


On sábado, 7 de maio de 2016 23:25:16 PDT Roland Winklmeier wrote:
> 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.

Looks like a mistake.

> * 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?

No. The build for Windows is using the Windows API so you can ship smaller 
builds without ICU.

> * Official Linux QtCore binary in contrast is linked against ICU
> (verified with ldd).

The Linux build is linking against ICU because there's no fallback API of 
similar quality. And also because all Linux distros have ICU anyway.

> * Official OS X QtCore binary again is not linked against ICU.

Like Windows, OS X has a fallback API. In fact, Apple's API is almost a direct 
mapping of ICU's API.

> 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. ?

It's mandatory for none. You can choose if you build from sources, but note 
that the POSIX fallback for Unix systems is of much lower quality.

The choices made for the binary builds are just that: choices.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center




More information about the Development mailing list