The boost thread library does not honour the BOOST_ALL_DYN_LINK setting in config/user.hpp. Thread used to be only available as a dynamically linked library in version 1.31, and I see a note about this in the comment for BOOST_ALL_DYN_LINK. I guess that it now ought to honour this general setting, to avoid defaulting to static linkage even when this is defined? Regards, Inge Norum thread/detail/config.hpp: #if defined(BOOST_THREAD_BUILD_DLL) //Build dll #elif defined(BOOST_THREAD_BUILD_LIB) //Build lib #elif defined(BOOST_THREAD_USE_DLL) //Use dll #elif defined(BOOST_THREAD_USE_LIB) //Use lib #else //Use default # if defined(BOOST_HAS_WINTHREADS) # if defined(BOOST_MSVC) || defined(BOOST_INTEL_WIN) //For compilers supporting auto-tss cleanup //with Boost.Threads lib, use Boost.Threads lib # define BOOST_THREAD_USE_LIB # else //For compilers not yet supporting auto-tss cleanup //with Boost.Threads lib, use Boost.Threads dll # define BOOST_THREAD_USE_DLL # endif # else # define BOOST_THREAD_USE_LIB # endif #endif