|
Boost : |
Subject: Re: [boost] [filesystem] 1.49 linking with c++0x
From: Sebastian Redl (sebastian.redl_at_[hidden])
Date: 2012-07-12 04:21:12
On 11.07.2012 20:05, Daniel Larimer wrote:
> This is a case where I compiled boost with a different version of g++ (or
> perhaps without c++0x support??) resulting in binary incompatibility when
> the BOOST_SCOPED_ENUM is used in the header of a compiled library.
>
> This seems like a bad API choice as it requires all programs that use
> boost::filesystem::copy_file to use the same version of G++ with the same
> compile options. In this case, the library should (in theory) implement
> both the scoped enum and unscoped enum implementation so that I can mix and
> match C++03 code with C++0x code without having two different versions of
> boost::filesystem.
>
You cannot safely mix and match C++03 and C++11 code with GCC no matter
what libraries you use. The standard library itself breaks binary
compatibility between the two versions. Boost builds on the standard
library. So no change in Filesystem is going to rescue binary
compatibility for you.
Sebastian
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk