For ICU4C build using ICC on Windows got error:
2> Creating library ..\..\lib64\icuind.lib and object ..\..\lib64\icuind.exp 2>quant.obj : error LNK2001: unresolved external symbol "const icu_56::UnicodeMatcher::`vftable'" (??_7UnicodeMatcher@icu_56@@6B@) 2>strmatch.obj : error LNK2001: unresolved external symbol "const icu_56::UnicodeMatcher::`vftable'" (??_7UnicodeMatcher@icu_56@@6B@) 2>..\..\bin64\icuin56d.dll : fatal error LNK1120: 1 unresolved externals
(logs added in attachment). Error reproduced for ICC builds with '/Od' or '/O1' compiler keys, and not reproduced for ICC builds with '/O2' key or builds using MSVC.
- Windows 10,
- Visual Studio 2015 Update 1 with integrated Intel Parallel Studio XE 2016 Update 1,
Steps to reproduce error:
1. extract ICU sources from archive,
2. open solution '<ICU sources>\source\allinone\allinone.sln' and:
- convert it to use Intel Compiler,
- select Debug configuration and any platform,
3. build project 'i18n'; this reproduce error in build log.
Error reproduced for few other libraries (for debug+shared builds only), and Developers from Intel Open Source Technology Center have come to the conclusion that this is an ICC bug (see QTBUG-48062).