Details
-
Bug
-
Resolution: Duplicate
-
P2: Important
-
None
-
5.9.0
-
None
-
Windows 10 x64 Creator Updates, Visual Studio 2017 15.2 x64
Description
Why do the icu detection had to changed?, now it always failed to link with system-icu,
Checking for ICU... Trying source 0 (type inline) of library icu ... => source failed condition 'config.win32 && !features.shared'. Trying source 1 (type inline) of library icu ... + cd /d C:\QT-Build\msvc2017_64\qtbase\config.tests\unix\icu && C:\QT-Build\msvc2017_64\qtbase\bin\qmake.exe "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared console single_arch" "QMAKE_LIBDIR += C:\\Dev\\dependencies\\sqlite3\\lib C:\\Dev\\postgresql\\x64\\lib C:\\Dev\\mysql\\x64\\lib C:\\Dev\\dependencies\\zlib\\lib C:\\Users\\nameless\\Documents\\Works\\Compiling\\jpeg-9b C:\\Users\\nameless\\Documents\\Works\\Deps\\x64\\VS2017\\libpng\\Static\\Release\\lib" "INCLUDEPATH += C:\\Dev\\dependencies\\sqlite3\\include C:\\Dev\\postgresql\\x64\\include C:\\Dev\\mysql\\x64\\include C:\\Dev\\dependencies\\zlib\\include C:\\Users\\nameless\\Documents\\Works\\Compiling\\jpeg-9b C:\\Users\\nameless\\Documents\\Works\\Deps\\x64\\VS2017\\libpng\\Static\\Release\\include" "LIBS += -licuin -licuuc -licudt" C:/QT-Build/qt-everywhere-opensource-src-5.9/qtbase/config.tests/unix/icu + cd /d C:\QT-Build\msvc2017_64\qtbase\config.tests\unix\icu && set MAKEFLAGS=& nmake > Microsoft (R) Program Maintenance Utility Version 14.10.25019.0 > Copyright (C) Microsoft Corporation. All rights reserved. > cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zi -MDd -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -EHsc /Fdicu.vc.pdb -DUNICODE -DWIN32 -DWIN64 -IC:\QT-Build\qt-everywhere-opensource-src-5.9\qtbase\config.tests\unix\icu -I. -IC:\Dev\dependencies\sqlite3\include -IC:\Dev\postgresql\x64\include -IC:\Dev\mysql\x64\include -IC:\Dev\dependencies\zlib\include -IC:\Users\nameless\Documents\Works\Compiling\jpeg-9b -IC:\Users\nameless\Documents\Works\Deps\x64\VS2017\libpng\Static\Release\include -IC:\QT-Build\qt-everywhere-opensource-src-5.9\qtbase\mkspecs\win32-msvc -Fo @C:\Users\nameless\AppData\Local\Temp\nm611F.tmp > icu.cpp > link /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /SUBSYSTEM:CONSOLE "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST:embed /OUT:icu.exe @C:\Users\nameless\AppData\Local\Temp\nm6353.tmp > icu.obj : error LNK2019: unresolved external symbol ucol_open_58 referenced in function main > icu.obj : error LNK2019: unresolved external symbol ucol_close_58 referenced in function main > icu.exe : fatal error LNK1120: 2 unresolved externals > NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64\link.EXE"' : return code '0x460' > Stop. => source failed verification. Trying source 2 (type inline) of library icu ... => source failed condition '!config.win32'. test config.corelib.libraries.icu FAILED Checking for icu >= 53... Trying source 0 (type pkgConfig) of library icu ... pkg-config use disabled globally. => source produced no result. test config.qtwebengine.libraries.icu FAILED
From the qtbase/config.tests/unix/icu/icu.pro
SOURCES = icu.cpp
CONFIG += console
CONFIG -= qt dylib
CONFIG += build_all
CONFIG(debug, debug|release): \
LIBS += $$LIBS_DEBUG
else: \
LIBS += $$LIBS_RELEASE
Where do $$LIBS_RELEASE and $$LIB_DEBUG getting the variables?
Old one looks more proper :
win32 { CONFIG(static, static|shared) { CONFIG(debug, debug|release) { LIBS_PRIVATE += -lsicuind -lsicuucd -lsicudtd } else { LIBS_PRIVATE += -lsicuin -lsicuuc -lsicudt } } else { LIBS_PRIVATE += -licuin -licuuc -licudt } } else { LIBS_PRIVATE += -licui18n -licuuc -licudata }
Attachments
Issue Links
- is replaced by
-
QTBUG-58012 add a way to specify alternative ICU libraries
- Closed