From: John Maddock (john_at_[hidden])
Date: 2008-04-14 11:52:03
Christopher Lux wrote:
> we discovered a compiler bug using Visual C++ 8.0 (SP1). This bug
> boost namespace items visible in the global namespace and so makes
> libraries conflict with other libraries. The following example 
> displays how this bug can make namespace items public. When moving the
> exception class definition outside the namespace everything works as
> We encountered this problem when using boost::integer in combination
> with boost::serialization. After including the file
> all boost::integer types are public and conflict with other libraries.
> This leads to the problem shown in the example . The uint32_t type
> publicly visible.
> To our knowledge this bug is present in Visual C++ 8.0 (SP1). Visual
> 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.