Boost logo

Boost Users :

Subject: Re: [Boost-users] C++11 ABI stability
From: Edward Diener (eldiener_at_[hidden])
Date: 2017-06-21 15:16:53


On 6/21/2017 2:09 AM, Marek Skalický via Boost-users wrote:
> Hi,
> mongo-cxx-driver notices this:
> "Important note about C++11/C++14: The boost libraries do not offer a
> stable ABI across different versions of the C++ standard. As a result,
> you must ensure that your application, the C++ driver, and boost are
> all built with the same language standard. In particular, if you are
> building the C++ driver with C++11 enabled, you must also build your
> application with C++11 enabled, and link against a C++11 compiled
> boost. " [1]
>
> Is it true? What changes with new standard? (or is this only related to
> ABI change in gcc introduced by c++11?)
>
> I'm interested mainly in libraries: filesystem, chrono, thread, system
> and regex

I can't speak for the libraries you mention above. But regarding Boost
libraries in general many Boost libraries are unaffected in their public
interface whether you compile with C++03, C++11, C++14, or C++17
support. If a library is affected in its public interface depending on
the level of C++ support it should document this and, needless to say if
it is a built library whether static or shared, it should have a
distinct library name depending on its differing public interfaces.

>
> Thanks,
> Marek
>
> [1] http://mongodb.github.io/mongo-cxx-driver/legacy-v1/installation/#s
> cons-options-when-compiling-the-c-driver
>


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net