summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qlocale_icu.cpp
diff options
context:
space:
mode:
authorKent Hansen <kent.hansen@nokia.com>2012-03-27 16:19:29 +0200
committerKent Hansen <kent.hansen@nokia.com>2012-03-27 19:22:48 +0200
commitd236fe2214340164bec4f34cb27dea4a634ee0de (patch)
treecda4ebbcc91717b37e5a2dbccb9ee46c2a1d3885 /src/corelib/tools/qlocale_icu.cpp
parent2b17b0235b70f89d15d3b91a14c3297d38377f94 (diff)
parentcbc883da6910b3357a4e03d0e2dfa841da1a03e8 (diff)
Merge master into api_changes
Conflicts: src/corelib/global/qisenum.h src/dbus/qdbusconnection_p.h src/widgets/kernel/qwidget.cpp tests/auto/other/qaccessibility/tst_qaccessibility.cpp Change-Id: I85102515d5fec835832cc20ffdc5c1ba578bd01d
Diffstat (limited to 'src/corelib/tools/qlocale_icu.cpp')
-rw-r--r--src/corelib/tools/qlocale_icu.cpp29
1 files changed, 23 insertions, 6 deletions
diff --git a/src/corelib/tools/qlocale_icu.cpp b/src/corelib/tools/qlocale_icu.cpp
index ee2e5f436a..b3b8836f11 100644
--- a/src/corelib/tools/qlocale_icu.cpp
+++ b/src/corelib/tools/qlocale_icu.cpp
@@ -81,9 +81,19 @@ bool qt_initIcu(const QString &localeString)
if (status == NotLoaded) {
// resolve libicui18n
- QLibrary lib(QLatin1String("icui18n"), QLatin1String(U_ICU_VERSION_SHORT));
+ const QString version = QString::fromLatin1(U_ICU_VERSION_SHORT);
+#ifdef Q_OS_WIN
+ // QLibrary on Windows does not use the version number, the libraries
+ // are named "icuin<version>.dll", though.
+ QString libName = QStringLiteral("icuin") + version;
+#else
+ QString libName = QStringLiteral("icui18n");
+#endif
+ QLibrary lib(libName, version);
if (!lib.load()) {
- qWarning() << "Unable to load library icui18n" << lib.errorString();
+ qWarning("Unable to load library '%s' version %s: %s",
+ qPrintable(libName), qPrintable(version),
+ qPrintable(lib.errorString()));
status = ErrorLoading;
return false;
}
@@ -104,15 +114,22 @@ bool qt_initIcu(const QString &localeString)
ptr_ucol_close = 0;
ptr_ucol_strcoll = 0;
- qWarning("Unable to find symbols in icui18n");
+ qWarning("Unable to find symbols in '%s'.", qPrintable(libName));
status = ErrorLoading;
return false;
}
// resolve libicuuc
- QLibrary ucLib(QLatin1String("icuuc"), QLatin1String(U_ICU_VERSION_SHORT));
+#ifdef Q_OS_WIN
+ libName = QStringLiteral("icuuc") + version;
+#else
+ libName = QStringLiteral("icuuc");
+#endif
+ QLibrary ucLib(libName, version);
if (!ucLib.load()) {
- qWarning() << "Unable to load library icuuc" << ucLib.errorString();
+ qWarning("Unable to load library '%s' version %s: %s",
+ qPrintable(libName), qPrintable(version),
+ qPrintable(ucLib.errorString()));
status = ErrorLoading;
return false;
}
@@ -129,7 +146,7 @@ bool qt_initIcu(const QString &localeString)
ptr_u_strToUpper = 0;
ptr_u_strToLower = 0;
- qWarning("Unable to find symbols in icuuc");
+ qWarning("Unable to find symbols in '%s'", qPrintable(libName));
status = ErrorLoading;
return false;
}