Hi, everyone,
Got error while building ICU library (icu-project.org) using Intel C++ Compiler:
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).
Environment:
- Windows 10,
- Visual Studio 2015 Update 1 with integrated Intel Parallel Studio XE 2016 Update 1,
- ICU-56.1 sources (http://download.icu-project.org/files/icu4c/56.1/icu4c-56_1-src.zip).
Steps to reproduce error:
- extract ICU sources from zip archive,
- open solution '<ICU sources>\source\allinone\allinone.sln', convert it to current version of Visual Studio, select Intel Compiler toolchain,
- select *Debug* configuration and any platform,
- build project 'i18n', which reproduce error LNK2001 in build log.
Remarks:
- error inherent to Debug+<x86,x64> configurations only,
- error reproduces for few other libraries, e.g. Qt-5.7-alpha1 (https://bugreports.qt.io/browse/QTBUG-48062 ; for shared+debug builds only),
- error doesn't reproduce for MSVC builds.
Regards,
Alexander