День добрый!
Столкнулся с такой проблемой.
Собираю boost с icu с помощью MSVS 2017 для х32 — нормально собирается. Пытаюсь сделать тоже самое для х64 — глухо.
Такое впечатление, что вместо lib64 boost лезет в lib.
В каталоге icu есть подкаталоги bin (bin64) и lib (lib64).
Сборка выполняется такой командой:
b2.exe -j4 -a -sHAVE_ICU=1 -sICU_PATH=G:\Tmp\D\ICU\icu57\vs2017 --build-dir=build toolset=msvc address-model=64 architecture=x86 runtime-link=static --build-type=complete --layout=tagged boost.locale.icu=on --with-locale stage --stagedir=g:\tmp\d\boost_1_72_0\out\vs2017\x64
В логе:
Performing configuration checks
— default address-model : 32-bit
— default architecture : x86
— iconv (libc) : no
— iconv (separate) : no
— icu : no
— icu (lib64) : no
В конфигурационном логе (build\boost\bin.v2\config.log) есть такие строки:
G:\Tmp\D\ICU\icu57\vs2017\lib\icudt.lib : warning LNK4272: тип компьютера библиотеки "x86" конфликтует с типом целевого компьютера "x64"
Что, в принципе, верно, поскольку в каталоге G:\Tmp\D\ICU\icu57\vs2017\lib расположены библиотеки х32.
Раньше собирал boost 1.10 с icu57 на MSVS 2010, всё корректно собиралось под х32 и х64.