
Michael Glassford wrote:
"Stefan Slapeta" <stefan@slapeta.com> wrote in message news:cp2gsl$8gl$1@sea.gmane.org...
Michael Glassford wrote:
I think the problem is of how to deduce how the boost libs should be linked in when the user does not explicitely specifiy e.g. BOOST_USE_LIB. A reasonable default in this case would be then to link in the library corresponding to the RTL choice.
This was my intention when I wrote the above.
Why? I don't see any context between a shared rt and dynamic boost library. boost.thread shows a different behaviour than other boost libraries (which always default to link the static boost lib).
It seemed to me at the time that if the user didn't specify explicit linking options for Boost.Threads, the most sensible default options were a) everything in a separate dll (dynamically linked), or b) everything in one exe (statically linked). In retrospect, perhaps this was incorrect.
I think it is correct but Boost does not follow this pattern by default. I have discussed this with John Maddock but evidently he feels that the default when linking with the dynamic RTL is to use the library's static library rather than the dynamic one. There are macros to force the use of the dynamic one instead, BOOST_ALL_DYN_LINK and BOOST_..._DYN_LINK, as well as macros that turn off auto-linking, BOOST_ALL_NO_LIB and BOOST_..._NO_LIB.