From: Michael van der Westhuizen (r1mikey_at_[hidden])
Date: 2006-07-26 07:54:43
On 7/26/06, Harling, Torsten <THarling_at_[hidden]> wrote:
> I have a little problem regarding boost and ACE cooperation.
> ACE is an C++ class library, providing many functions for
> platform independency.
> A great difference. The reason for this is, that the
> #include <ace/OS.h> somehow defines _REENTRANT, which
> triggers the boost library to include a mutex in
> sp_counted_base. I think, the order of the includes
> should not matter. Therefore, either '#include <ace/OS.h>'
> should not define _REENTRANT, or the boost headers
> should ignore it.
ACE requires you to use multithreading in most cases. I seriously
doubt that this will be seen as a bug by anybody you've reported to,
as this is just how ACE works.
In this case, sp_counted_base is doing the right thing, as it sees
that it needs to be threadsafe.
I would strongly recommend that you ensure that you use the same
compilation flags and defines to build your software as you did when
building ACE, otherwise you may just end up with different versions of
the same class all over the place.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk