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

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

Эта команда создает все Boost . В частности, он создает следующие пакеты: boost-батареи, boost-algorithm, boost-align, boost-any, boost-array, boost-asio, boost-assert, boost-assign, boost-atomic, boost-beast, boost-bimap. , boost-bind, boost-callable-traits, boost-chrono, boost-round-buffer, boost-compatibility, boost-compute, boost-concept-check, boost-config, boost-container, boost-container-hash, boost -context (! uwp), boost-contract (! arm), boost-conversion, boost-convert, boost-core, boost-coroutine (! uwp), boost-coroutine2, boost-crc, boost-date-time, boost -detail, boost-disjoint-sets, boost-dll, boost-dynamic-bitset, boost-endian, boost-exception, boost-fiber (windows), boost-filesystem (! uwp), boost-flyweight, boost-foreach, boost-format, boost-function, boost-function, boost-function-types, boost-fusion, boost-geometry, boost-gil, boost-graph, boost-graph-parallel, boost-hana, boost-heap, boost- гистограмма, boost-hof, boost-icl, boost-integer, boost-interprocess, boost-intrusive, boost-io, boost-i ostreams (! 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-conversion, boost-interval, boost-odeint, boost-ublas, boost-safe-numerics, boost-optional, boost-result, boost-parameter, boost-parameter-python (windows), boost-phoenix, boost-polygon, boost-poly-collection, boost -pool, boost-Pref, boost-препроцессор, boost-process, boost-program-options, boost-property-map, boost-property-tree, boost-proto, boost-ptr-container, boost-python (windows), boost-qvm, boost-random, boost-range, boost-ratio, boost -rational, boost-regex, boost-numeric-conversion, boost-interval, boost-odeint, boost-ublas, boost-safe-numerics, boost- scope-exit, boost-serialization, boost-signal2, boost-smart-ptr, boost-sort, boost-spirit, boost-stacktrace (! uwp), boost-s tatechart, boost-static-assert, boost-system, boost-test (! uwp), boost-thread, boost-throw-exception, boost-timer, boost-tokenizer, boost-tti, boost-tuple, boost-typeof, boost-type-erasure (! arm), boost-type-index, boost-type-traits, boost-units, boost-unordered, boost-utility, boost-uuid, boost-variant, boost-variant2, 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-integer, boost-iterator, 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-compatibility, boost-concept-check, boost-config, boost-container-hash, boost-core, boost-detail, boost. -integer, boost-iterator, boost-modular-build-helper, boost-mpl, boost-Pref, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility и boost-vcpkg-helpers.

И boost-locale, и boost-regex не учитывают такие компоненты, как boost-аккумуляторы.

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

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

-1
Ben Key 17 Окт 2019 в 08:02

1 ответ

Лучший ответ

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

./vcpkg установить boost-locale [icu] boost-regex [icu] boost --triplet x64-windows --recurse

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

1
Ben Key 23 Окт 2019 в 01:55