VCPKG:如何在ICU的支持下构建**所有Boost**



以下命令使用 VCPKG 构建 boost。

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

此命令构建所有 Boost。具体来说,它构建了以下软件包:boost-accumulators,boost-algorithm,boost-align,boost-any,boost-array,boost-asio,boost-assert,boost-assignic,boost-beast,boost-bimap,boost-bind,boost-callable-traits,boost-chrono,boost-circular-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-functional, 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-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-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-predef, boost-preprocessor, 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-Signals2, Boost-smart-PTR, Boost-sort, Boost-spirit, Boost-stacktrace (!uwp(, boost-statechart, 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,助推压抑,助推呀。

问题是此命令不会在 ICU 支持下构建 Boost。

"vcpkg 搜索"命令包含以下相关的条目。

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-predef、boost-smart-ptr、boost-static-assert、boost-throw-exception、boost-type-traits、boost-utility 和 boost-vcpkg-helpers。

boost-locale 和 boost-regex都省略了 boost-accumulators 等组件。

首先安装 boost,然后安装 boost-locale 和 boost-regex,会导致某种您想要重建的消息。

应该只有一个命令可以在 ICU 支持下构建所有 Boost,而无需重建废话。

事实证明,在对支持 ICU 功能的组件使用 ICU 的同时,可以构建所有 Boost,如下所示。

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

来源:如何通过 ICU 支持构建提升,而无需构建两次提升的大多数组件?

最新更新