[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Qt
From: |
Andreas Enge |
Subject: |
Re: Qt |
Date: |
Sun, 13 Oct 2013 16:18:24 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Sun, Oct 13, 2013 at 03:54:16PM +0200, Ludovic Courtès wrote:
> Could you look for -licu in the Qt build log, to see which of those
> shared libs is meant to be linked against it?
None of them, as far as I can tell.
The only place where I found 'licu' is the following:
ICU auto-detection... ()
g++ -c -pipe -O2 -Wall -W -I../../../mkspecs/linux-g++ -I. -o icu.o icu.cpp
g++ -Wl,-O1 -o icu icu.o -licuuc -licui18n
ICU enabled.
This is during the configure phase.
The only interesting lines containing icu are the following:
g++ -c -include .pch/release-shared/QtCore -pipe -pthread
-I/nix/store/dly2cqqprdsb4fqabrw0bxm1n42vpi6w-glib-2.38.0/include/glib-2.0
-I/nix/store/dly2cqqprdsb4fqabrw0bxm1n42vpi6w-glib-2.38.0/lib/glib-2.0/include
-O2 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT -fPIC
-DQT_SHARED -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII
-DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER
-DELF_INTERPRETER=\"\" -DQLIBRARYINFO_EPOCROOT -DQT_USE_ICU
-DHB_EXPORT=Q_CORE_EXPORT -DQT_NO_DEBUG -D_LARGEFILE64_SOURCE
-D_LARGEFILE_SOURCE -I../../mkspecs/linux-g++ -I. -I../../include
-I../../include/QtCore -I.rcc/release-shared -Iglobal -I../../tools/shared
-I../3rdparty/harfbuzz/src -I../3rdparty/md5 -I../3rdparty/md4
-I.moc/release-shared -o .obj/release-shared/qlocale_icu.o tools/qlocale_icu.cpp
and another one
g++ ... -o libQtCore.so.4.8.5 ... .obj/release-shared/qlocale_icu.o ...
So at least this gives us the library.
And qlocale_icu.c contains this:
// resolve libicui18n
QLibrary lib(QLatin1String("icui18n"),
QLatin1String(U_ICU_VERSION_SHORT));
lib.setLoadHints(QLibrary::ImprovedSearchHeuristics);
if (!lib.load()) {
qWarning() << "Unable to load library icui18n" << lib.errorString();
status = ErrorLoading;
return false;
}
and
// resolve libicuuc
QLibrary ucLib(QLatin1String("icuuc"),
QLatin1String(U_ICU_VERSION_SHORT));
ucLib.setLoadHints(QLibrary::ImprovedSearchHeuristics);
if (!ucLib.load()) {
qWarning() << "Unable to load library icuuc" << ucLib.errorString();
status = ErrorLoading;
return false;
So indeed this looks like dlopen at run time. ldd on libQt5Core.so shows that
in Qt 5, the library is explicitly linked with the icu libraries.
Andreas
- Re: Qt, (continued)
- Re: Qt, Ludovic Courtès, 2013/10/08
- Re: Qt, Andreas Enge, 2013/10/10
- Re: Qt, Ludovic Courtès, 2013/10/10
- Re: Qt, Andreas Enge, 2013/10/10
- Re: Qt, Mark H Weaver, 2013/10/10
- Re: Qt, Andreas Enge, 2013/10/12
- Re: Qt, Ludovic Courtès, 2013/10/12
- Re: Qt, Andreas Enge, 2013/10/12
- Re: Qt, Andreas Enge, 2013/10/12
- Re: Qt, Ludovic Courtès, 2013/10/13
- Re: Qt,
Andreas Enge <=
- Re: Qt, Ludovic Courtès, 2013/10/13