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

Building and Installing the Library

Boost , Boost.Regex 5.1.2 , Boost.Regex 5.1.2

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

При извлечении библиотеки из ее zip-файла необходимо сохранить ее внутреннюю структуру каталога (например, используя опцию -d при извлечении). Если вы не сделали этого при извлечении, тогда вам лучше прекратить читать это, удалить только что извлеченные файлы и попробовать еще раз!

Эта библиотека не нуждается в настройке перед использованием; большинство популярных компиляторов/стандартных библиотек/платформ уже поддерживаются «как есть». Если вы испытываете проблемы с конфигурацией или просто хотите протестировать конфигурацию с помощью компилятора, то процесс такой же, как и для любого повышения; см. документацию библиотеки конфигурации.

Библиотека будет включать в себя весь код внутри пространства имен.

В отличие от некоторых других библиотек шаблонов, эта библиотека состоит из смеси кода шаблона (в заголовках) и статического кода и данных (в файлах cpp). Следовательно, необходимо встроить код поддержки библиотеки в библиотеку или архивный файл, прежде чем вы сможете использовать его, инструкции для конкретных платформ следующие:

Building with bjam

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

Building With Unicode and ICU Support

Повышаю. Regex теперь может выполнять проверку конфигурации, чтобы проверить, установлен ли ICU в поисковых путях компилятора. Когда вы строите, вы должны увидеть такое сообщение:

Performing configuration checks
    - has_icu builds           : yes

Это означает, что ICU был найден, и поддержка будет включена в сборку библиотеки.

[Tip] Tip

Если вы не хотите, чтобы библиотека regex использовала ICU, создайте опцию командной строки «--disable-icu».

Если вместо этого вы видите:

Performing configuration checks
    - has_icu builds           : no

Тогда ICU не нашли и поддержка его не будет компилироваться в библиотеку. Если вы считаете, что он должен был быть найден, то вам нужно будет взглянуть на содержимое файлаboost-root/bin.v2/config.logдля фактических сообщений об ошибках, полученных при сборке, выполнена проверка конфигурации. Затем вам нужно будет исправить эти ошибки, убедившись, что на ваш компилятор ссылаются правильные параметры, например:

bjam include=some-include-path --toolset=toolset-name install

добавит в заголовок компилятора «некоторый путь включения», или если ICU был построен с нестандартными названиями для его двоичных файлов, то:

bjam -sICU_LINK="linker-options-for-icu" --toolset=toolset-name install

Будет использовать«linker-options-for-icu»при связывании библиотеки, а не по умолчанию бинарных имен ICU.

Возможно, вам также потребуется использовать опции «cxxflags=-option» и «linkflags=-option» для настройки опций компилятора и линкера.

[Important] Important

Результаты конфигурации кэшируются - если вы пытаетесь перестроить с помощью различных опций компилятора, добавьте «-a» в командную строку, чтобы заставить все цели быть восстановленными.

Если ICU еще не находится на пути компилятора, но вместо этого заголовки, библиотеки и двоичные файлы расположены по адресуPath-to-icu/include,Path-to-icu/libиPath-to-icu/binсоответственно, тогда вам нужно установить переменную окружения<ICU_PATH>, чтобы указать на корневой каталог вашей установки ICU: это обычно происходит, если вы строите с MSVC. Например, если ICU установлен на<c:\download\icu>, вы можете использовать:

bjam -sICU_PATH=c:\download\icu --toolset=toolset-name install
[Important] Important

ICU — это библиотека C++. Таким образом, ваша копия ICU должна быть построена с тем же компилятором C++ (и версией компилятора), который вы используете для создания Boost. Повышаю. Regex не будет работать правильно, если вы не убедитесь, что это так: вы должны убедиться, что версия ICU, которую вы используете, является бинарной совместимой с набором инструментов, который вы используете для создания Boost.

И, наконец, если вы хотите создавать / тестировать с несколькими версиями компилятора, все с различными сборками ICU, то единственный способ достичь этого в настоящее время - это изменить конфигурацию пользователя. jam, чтобы каждый набор инструментов имел необходимый набор опций компилятора/линкера, чтобы ICU был найден автоматически на этапе конфигурации (при условии, что двоичные файлы ICU используют стандартные имена, все, что вам нужно добавить, это соответствующие пути поиска заголовка и линкера).

Building from Source

Библиотека Regex — это «просто куча исходных файлов»: для их создания не требуется ничего особенного.

Вы можете создавать файлы в виде библиотеки boost-path/libs/regex/src/*.cpp или добавлять их непосредственно в свой проект. Это особенно полезно, если вам нужно использовать определенные параметры компилятора, не поддерживаемые сборкой Boost по умолчанию.

Есть два определения #, о которых вы должны знать:

  • BOOST_HAS_ICU должен быть определен, если вы хотите, чтобы поддержка ICU была скомпилирована.
  • BOOST_REGEX_DYN_LINK должен быть определен, если вы создаете DLL в Windows.
[Important] Important

Файлы, которые были снабжены Boost. Regex теперь обесценен и будет удален в следующем выпуске.


PrevUpHomeNext

Статья Building and Installing the Library раздела Boost.Regex 5.1.2 Boost.Regex 5.1.2 может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: Boost.Regex 5.1.2 ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 04:04:18/0.0065281391143799/1