Subject: Re: [boost] [serialization] Linker errors in trunk
From: Hartmut Kaiser (hartmut.kaiser_at_[hidden])
Date: 2009-09-08 11:12:21
> >> Ok, I solved it. The MS header file excpt.h has a
> >> #define exception_code _exception_code
> >> which leads to problems if not consistently included. Doh! What a
> >> mess.
> >> The bottom line is, that archive_exception.cpp needs to be compiled
> >> with exactly the same windows headers included (excpt.h gets
> >> included by windows.h) as any sources including
> >> archive_exception.hpp, which is
> >> generally not possible to ensure.
> >> The only fail-proof way I could see is to always have
> >> #if defined(BOOST_WINDOWS)
> >> #include <excpt.h>
> >> #endif
> >> inside archive_exception.hpp, globally mapping exception_code to
> >> _exception_code. Patch attached.
> >> Ok to commit?
> Hmmm - let's think about this a little bit. We could
> change "exception_code" to something else. I don't
> think it would break user code since user code
> might refer to the enum member names rather than
> the "exception_code".
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk