Building Boost.Locale
Dependencies
- ICU библиотека 3.6 или выше настоятельно рекомендуется
- Если библиотека ICU не предоставляется, поддержка иконок требуется на платформах POSIX.
Platform Notes
- Если вы используете Boost. Локальная версия Windows с MinGW / GCC< 4.5 вы можете использовать только статическую версию. Mingw/GCC до 4.5 не поддерживает динамическую связь во время выполнения.
Усилить. Локальные DLL с MinGW gcc также требуют динамической связи с библиотеками времени выполнения libstdc++ и libgcc. Некоторые сборки gcc используют статические ссылки по умолчанию, поэтому убедитесь, что вы используете правильные параметры ссылок с компилятором при создании собственных программ.
- Иконка AIX пропускает важные наборы персонажей, которые увеличиваются. Locale требует, поэтому вам нужно либо использовать значок GNU, либо связать его с библиотекой ICU.
- Если библиотека иконок не найдена на билдах Darwin/Mac OS X, убедитесь, что нет нескольких инсталляций иконок и предоставьте опцию сборки -sICONV_PATH, чтобы указать правильное местоположение библиотеки иконок.
Building Process
Теперь все, что вам нужно сделать, это вызвать команду bjam:
./bjam --with-locale stage
Или на Windows
.\bjam --with-locale stage
Если вы используете пользовательскую сборку ICU или используете Microsoft Windows, вам необходимо предоставить путь к расположению библиотеки ICU с использованием опции -sICU_PATH
Например:
- Note
- Don't forget to put both debug and release versions of ICU libraries in this path when using Microsoft Visual Studio so Boost.Build will link correctly debug and release versions of boost_locale library.
Build Options
Подъем. Locale поддерживает следующие варианты с значениями off или on
boost.locale.icu=offОтключить сборку бэкэнда ICU, даже если библиотека ICU существует
boost.locale.iconv=offилиboost.locale.iconv=onразрешить или отключить использование библиотеки иконок. Выключен по умолчанию на Windows и Solaris
boost.locale.winapi=off- отключить Winapi backend, он включен по умолчанию в Windows и Cygwin
boost.locale.std=offилиboost.locale.winapi=onОтключить или включить std backends.stdБэкэнд по умолчанию отключен при использовании Sun Studio.
boost.locale.posix=onилиboost.locale.posix=offВключить или отключить поддержку POSIX backend, она включена по умолчанию в Linux и Mac OS X
И еще буст. Locale поддерживает следующие варианты
-sICU_PATH=/path/to/location/of/icu- расположение пользовательской библиотеки ICU
-sICONV_PATH=/path/to/location/of/iconv- расположение библиотеки иконок
Например:
Running Unit Tests
Вы можете запустить единичные тесты, ссылаясь на bjam с параметром проекта libs/locale/test
./bjam libs/locale/test
Binary Compatibility
Подъем. Locale построен с учетом бинарной совместимости. Переключение локализации обратно заканчивается или выключено, или с помощью иконов или нет, не влияет на двоичную совместимость. Таким образом, если динамическая библиотека была построена со всеми возможными backends, другие динамические библиотеки, собранные, например, только std, posix или winapi, все равно будут бинарными совместимыми с ним.
Однако это определенно влияет на некоторые функции. Например, если вы попытаетесь использовать пограничный анализ или календарный аспект, когда библиотека не поддерживает поддержку icu, вы получите исключение.