VCPKG: Как построить ** все Boost ** с поддержкой ICU - PullRequest
0 голосов
/ 17 октября 2019

Следующая команда строит надстройку с использованием VCPKG.

vcpkg install boost:x64-windows boost:x64-windows

Эта команда собирает все надстройки . В частности, он собирает следующие пакеты: аккумуляторы-бустеры, алгоритм-буст, алгоритм-буст-выравнивание, буст-любой, массив массива, буст-асио, буст-ассерт, буст-ассистент, буст-атом, буст-зверь, буст-бимап, boost-bind, boost-callable-traits, boost-chrono, boost-циркулярный буфер, boost-совместимость, boost-compute, boost-concept-check, boost-config, boost-container, boost-container-hash, boost-контекст (! uwp), буст-контракт (! arm), буст-преобразование, буст-преобразование, буст-ядро, буст-сопрограмма (! uwp), буст-сопрограмма2, буст-crc, буст-дата-время, буст-detail, boost-disjoint-sets, boost-dll, boost-dynamic-bitset, boost-endian, boost-исключение, boost-fiber (windows), boost-файловая система (! uwp), boost-flyweight, boost-foreach,буст-формат, буст-функция, буст-функция, типы буст-функции, буст-фьюжн, буст-геометрия, буст-гил, буст-граф, буст-граф параллельный, буст-хана, буст-куча, буст-гистограмма, boost-hof, boost-icl, boost-integer, boost-interprocess, boost-intrusive, boost-io, boost-iostreams (! uwp), boost-iterator, boost-lambda, boost-lexical-cast, boost-locale (! uwp), boost-local-function, boost-lockfree, boost-log (! uwp), boost-logic,boost-math, boost-metaparse, boost-move, boost-mp11, boost-mpl, boost-msm, boost-multiprecision, boost-multi-array, boost-multi-index, boost-numeric-преобразование, повышение-интервал,boost-odeint, boost-ublas, boost-safe-numerics, boost-опционально, boost-result, boost-параметр, boost-параметр-python (windows), boost-phoenix, boost-polygon, boost-poly-collection, boost-pool, boost-pref, boost-preprocessor, boost-process, параметры программы boost, map-property-map, дерево свойств boost, boost-proto, boost-ptr-container, boost-python (windows),boost-qvm, boost-random, Boost-Range, Boost-коэффициент, Boost-Regular, Boost-Regex, Boost-числовое преобразование, Boost-интервал, Boost-Odeint, Boost-Ublas, Boost-Safe-числовые, Boost-область выхода, повышение-сериализация, повышение-сигналы2, повышение-умный-ptr, повышение-сортировка, повышение-дух, повышение-стек-трассировка (! uwp), повышение-сtatechart, boost-static-assert, boost-system, boost-test (! uwp), boost-thread, boost-throw-исключение, boost-timer, boost-tokenizer, boost-tti, boost-tuple, boost-typeof,boost-type-erasure (! arm), boost-type-index, boost-type-traits, boost-unit, boost-unordered, boost-Uuid, boost-uuid, boost-вариант, boost-вариант2, boost-vmd,boost-wave (! uwp), boost-winapi, boost-xpressive и boost-yap.

Проблема в том, что эта команда не создает Boost с поддержкой ICU.

"vcpkg"команда "search" содержит следующие релевантные записи.

boost                1.71.0           Peer-reviewed portable C++ source libraries
boost-locale         1.71.0           Boost locale module
boost-locale[icu]                     ICU backend for Boost.Locale
boost-regex          1.71.0           Boost regex module
boost-regex[icu]                      ICU backend for Boost.Regex

Следующее не работает, так как генерирует ошибки.

vcpkg install boost[icu]:x64-windows boost[icu]:x64-windows

Следующие сборки с поддержкой ICU, но не сборка все Boost .

vcpkg install boost-locale[icu]:x64-windows boost-locale[icu]:x64-windows boost-regex[icu]:x64-windows boost-regex[icu]:x64-windows

При создании boost-locale создаются следующие компоненты: boost-locale, boost-assert, boost-build, boost-config, boost-function, boost-целое число, boost-итератор, boost-modular-build-helper, boost-smart-ptr, boost-static-assert, boost-system, boost-thread, boost-type-traits, boost-unordered и boost-vcpkg-helpers.

Построение boost-regex строит следующие компоненты: boost-regex, boost-assert, boost-build,boost-совместимость, boost-concept-check, boost-config, boost-container-hash, boost-core, boost-detail, boost-integer, boost-iterator, boost-modular-build-helper, boost-mpl, boost-beforef, boost-smart-ptr, boost-static-assert, boost-throw-исключение, boost-type-traits, boost-utility и boost-vcpkg-helpers.

Как boost-locale, так и boost-regex опускает такие компоненты, как аккумуляторы повышения.

Сначала установка boost, а затем установка boost-locale и boost-regex приводит к некоторому виду того, что вы хотите перестроить сообщение.

Для создания всего Boost с поддержкой ICU должна быть всего одна команда без всякой ерунды.

1 Ответ

1 голос
/ 23 октября 2019

Оказывается, что можно построить все Boost, используя ICU для тех компонентов, которые поддерживают функцию ICU, следующим образом.

. / Vcpkg install boost-locale [icu] boost-regex [icu] boost --triplet x64-windows --recurse

Источник: Как мне создать boost с поддержкой ICU, не создавая большинство компонентов boost дважды?

...