ОК, после борьбы с этим, я нашел пост в блоге, объясняющий, как это сделать . Я успешно создал boost, используя эту команду:
b2.exe --hash toolset=msvc debug-store=database address-model=64 architecture=x86
threading=multi link=static runtime-link=shared
cflags="/FS" cxxflags="/std:c++17 /FS"
archiveflags="/LIBPATH:C:\icu4c\lib64 icudt.lib icuin.lib icuio.lib icutest.lib icutu.lib icuuc.lib"
pch=off define=BOOST_USE_WINAPI_VERSION=0x0601 --layout=versioned
--build-type=minimal --build-dir="build" --prefix="C:\Boost"
--without-mpi --without-python
-sICU_PATH="C:\icu4c" -sZLIB_SOURCE="C:\zlib"
-j 17 install
Но есть одна небольшая проблема. Во время выполнения для запуска .exe файла требуется 3 dll (icuuc65.dll, icudt65.dll, icuin65.dll), несмотря на тот факт, что во время сборки достаточно ссылки Boost stati c libs без проблем со связью.
Итак, что я делаю неправильно?
Я также получаю следующее предупреждение при сборке Boost:
icuin.lib (icuin65.dll): предупреждение LNK4006: __NULL_IMPORT_DESCRIPTOR уже определено в icudt .lib (icudt65.dll); второе определение игнорируется