Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Boost.Locale: Building The library

Boost , ,

Building The library

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

Например:

  • Если ваша сборка icu размещена на/opt/icu46так, что файлы размещаются как
    /opt/icu46/include/unicode/uversion.h
    /opt/icu46/include/unicode/calendar.h
    ...
    /opt/icu46/lib/libicudata.so
    /opt/icu46/lib/libicui18n.so
    ...
    , то вам нужно предоставить опцию-sICU_PATH=/opt/icu46
       ./bjam --with-locale -sICU_PATH=/opt/icu46  stage
  • Если ваша сборка icu размещена наc:\icu46так, что файлы размещаются как
    c:\icu46\include\unicode\uversion.h
    c:\icu46\include\unicode\calendar.h
    ...


    c:\icu46\bin\icuin.dll
    ...
    c:\icu46\lib\icudt.lib
    c:\icu46\lib\icuin.lib
    ...
    , тогда вам нужно предоставить опцию-sICU_PATH=c:\icu46
       .\bjam --with-locale -sICU_PATH=c:\icu46  stage
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- расположение библиотеки иконок

Например:

  • Создайте библиотеку на Windows только с ICU backend:
       .\bjam boost.locale.winapi=off boost.locale.std=off -sICU_PATH=c:\icu46 --with-locale stage
  • Создайте библиотеку на Linux только со std backend
       .\bjam boost.locale.posix=off boost.locale.icu=off --with-locale stage

Running Unit Tests

Вы можете запустить единичные тесты, ссылаясь на bjam с параметром проекта libs/locale/test

./bjam libs/locale/test

Binary Compatibility

Подъем. Locale построен с учетом бинарной совместимости. Переключение локализации обратно заканчивается или выключено, или с помощью иконов или нет, не влияет на двоичную совместимость. Таким образом, если динамическая библиотека была построена со всеми возможными backends, другие динамические библиотеки, собранные, например, только std, posix или winapi, все равно будут бинарными совместимыми с ним.

Однако это определенно влияет на некоторые функции. Например, если вы попытаетесь использовать пограничный анализ или календарный аспект, когда библиотека не поддерживает поддержку icu, вы получите исключение.

Статья Boost.Locale: Building The library раздела может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 20:40:18/0.0068480968475342/0