Hi all,

I'm confused about boost dynamic linking on windows MSVC90

I always define: BOOST_ALL_NO_LIB
So that I directly control which DLLs I link to.
I add the signals dll for linking.

Then, if I define BOOST_ALL_DYN_LINK, I get lots of these messages:

boost_1_42_0\boost/signals/detail/signal_base.hpp(113) : warning C4251: 'boost::signals::detail::signal_base_impl::combiner_' : class 'boost::any' needs to have dll-interface to be used by clients of class 'boost::signals::detail::signal_base_impl'
39>        boost_1_42_0\boost/any.hpp(36) : see declaration of 'boost::any'

I've read up on this and understand why the warnings are shown.

BUT,
I don't understand why I am able to still link my program if I do NOT define BOOST_ALL_DYN_LINK.

Without the flag, it compiles without warnings, it links without problems, AND the executable requires the signals DLL to be available, so clearly it IS dynamically linked.  Right?

Any ideas?

Thanks,
Paul