Boost.Regex: Redistributables and Library Names

###  | # Boost.Regex ## Redistributables and Library Names | ###

If you are using Microsoft or Borland C++ and link to a dll version of the run time library, then you can choose to also link to a dll version of boost.regex by defining the symbol BOOST_REGEX_DYN_LINK when you compile your code. While these dll's are redistributable, there are no "standard" versions, so when installing on the users PC, you should place these in a directory private to your application, and not in the PC's directory path. Note that if you link to a static version of your run time library, then you will also link to a static version of boost.regex and no dll's will need to be distributed. The possible boost.regex dll and library names are computed according to the following formula:

BOOST_LIB_PREFIX
+ "boost_regex_"
+ BOOST_LIB_TOOLSET
+ "_"
+ BOOST_LIB_THREAD_OPT
+ BOOST_LIB_RT_OPT
+ BOOST_LIB_DEBUG_OPT
These are defined as:

BOOST_LIB_PREFIX: Either "lib" if this is a static link library, or nothing for dynamic / shared libraries.
BOOST_LIB_TOOLSET: The compiler toolset name (vc6, vc7, bcb5 etc).
BOOST_LIB_THREAD_OPT: "s" for single thread builds,
"m" for multithread builds.
BOOST_LIB_RT_OPT: "s" for static runtime,
"d" for dynamic runtime.
BOOST_LIB_LINK_OPT: "s" for static link,
"i" for dynamic link.
BOOST_LIB_DEBUG_OPT: nothing for release builds,
"d" for debug builds,
"dd" for debug-diagnostic builds (_STLP_DEBUG).

Note: you can disable automatic library selection by defining the symbol BOOST_REGEX_NO_LIB when compiling, this is useful if you want to statically link even though you're using the dll version of your run time library, or if you need to debug boost.regex.

Revised 24 Oct 2003

© Copyright John Maddock 1998- 2003

Use, modification and distribution are subject to the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)