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