|
Boost : |
From: John Maddock (john_at_[hidden])
Date: 2008-04-14 11:52:03
Christopher Lux wrote:
> Hi,
> we discovered a compiler bug using Visual C++ 8.0 (SP1). This bug
> makes
> boost namespace items visible in the global namespace and so makes
> boost
> libraries conflict with other libraries. The following example [1]
> displays how this bug can make namespace items public. When moving the
> exception class definition outside the namespace everything works as
> expected.
>
> We encountered this problem when using boost::integer in combination
> with boost::serialization. After including the file
> shared_count_132.hpp
> all boost::integer types are public and conflict with other libraries.
> This leads to the problem shown in the example [0]. The uint32_t type
> is
> publicly visible.
>
> To our knowledge this bug is present in Visual C++ 8.0 (SP1). Visual
> C++
> 9.0 does not show this bug anymore.
Yep this is indeed evil :-(
Boost.Serialization's author, Robert Ramey, seems to be away at present
(Robert?), but if he'd like a Boost.Config macro to help work around this it
can be added soon enough.
John.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk