
Hi Torsten, On 7/26/06, Harling, Torsten <THarling@arri.de> wrote:
Hello,
I have a little problem regarding boost and ACE cooperation. ACE is an C++ class library, providing many functions for platform independency. [snip] 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. [snip]
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. Michael