
I know it is late to suggest a change but I think that the default when one links to the dynamic RTL should be that a dynamic link library is created, not a static library. My own experience is that creating a dynamic link library is the norm when linking to the dynamic RTL, creating a static library is the norm when linking to the static lib version of the RTL, and that following any other mixed setup seems to lead to problems at run-time, particularly when memory management is involved. Now I know that auto-link specifies it is an #error if one tries to create a dynamic link library, using BOOST_DYN_LINK, when one is using the static version of the RTL. I am wondering why this is any less of a problem than if one attempts to create a static library using the DLL version of the RTL. Despite the fact that I don't like either mixture, I would welcome an explanation of why one is allowable, and safe, and the other is not. But given that the latter is considered allowable and the former not, I would suggest, along with my beginning suggestion, that BOOST_DYN_LINK be removed and that BOOST_STATIC_LINK be added to coerce the creation of a static library when linking to the DLL version of the RTL.