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

Building The library

Building Boost.Locale

Dependencies

Platform Notes

Building Process

Now all you need to do is invoke bjam command:

./bjam --with-locale stage

Or on Windows

.\bjam --with-locale stage

If you are using custom ICU build or you are using Microsoft Windows you need to provide a path to location of ICU library using -sICU_PATH option

For example:

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

Boost.Locale supports following options with values off or on

Also Boost.Locale supports following options

For example:

Running Unit Tests

You can run unit tests by invoking bjam with libs/locale/test project parameter

./bjam libs/locale/test

Binary Compatibility

Boost.Locale is built with binary compatibility in mind. Switching localization back ends on or off, or using iconv or not, does not affect binary compatibility. So if a dynamic library was built with all possible backends, other dynamic libraries compiled with, for example, only the std, posix or winapi backends would still be binary-compatible with it.

However this definitely has an effect on some features. For example, if you try to use boundary analysis or a calendar facet when the library does not support the icu backend you would get an exception.