Boost logo

Boost :

From: Roland (roland.schwarz_at_[hidden])
Date: 2004-01-10 12:45:16


(John Maddock <john_at_[hidden]>) wrote:

>
> That should be BOOST_DYN_LINK :-)
>

Thanks :-)

But, ....

Still does not work because:

The threading dll that has been compiled with bjam is obviously
built with a linkage to use the static C runtime library.

... which is bad, since it forces me to use the static version of MFC as well.

I figured this out by not using the auto_link.hpp. When using the auto_link.hpp
things get even worse, since auto_link thinks that
"Mixing a dll boost library with a static runtime is a really bad idea..."

So the bottom line is (forgive me reintroducing the threading DLL debate)
if you will have this one fixed (boost DLL with C runtime DLL) this still will
force an application developer that is using MFC to use MFC DLL too!

Stating it yet different: Using boost.thread forces to use MFC Static!

One resolution would be to use a threading DLL that does not depend
on the C-runtime (which is feasible, altough not straight forward - one would need
to carefully factor out the absolutely necessary DLL code and use _DllMainCRTStartup
instead of DllMain entry point)
or to force users to use DLL version of MFC too.

An other possible solution would be to reconsider my version that can
do without an explicit DLL. (Michael Glassford, are you listening? Refactoring
the thread monitor still necessary.)

It might well be that it is also possible to choose boost DLL with arbitrary
user selectable C runtime library. But I do not know how. Is there a way to
do so?

Roland


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk