
// Edward Diener wrote: // // His problem is that if he builds a statically linked library // and uses the // Boost threads library, he will be using a shared library and // all the shared // RTL libraries also, since that is what the shared Boost // threads library // needs to work. // No, that was not my point. You CAN'T build anything here using a static rt library anymore, what means that it's not possible to use the static and dynamic runtime library TOGETHER, either! Because of the auto_link feature in Boost 1.31.0, any attempt to include a boost.thread header results in the error message "Mixing a dll boost library with a static runtime is a really bad idea...". This is not only the case for the thread library itself but for every other translation unit, too. After you disable the auto_link feature, you still have to fight against the incompatible __declspec(dllimport) directives (intended for the dynamic rt). // I also have found that mixing static and shared libraries in // any situation // quite often leads to problems. In this latter respect, one // should use all // shared libraries or all static libraries, instead of mixing in both. //
From my experience, I can just second that.
Stefan