Opened 9 years ago
Last modified 7 years ago
#3858 closed discussion
G++ Application Binary Interface (ABI) — at Version 1
Reported by: | Rüdiger Franke | Owned by: | somebody |
---|---|---|---|
Priority: | high | Milestone: | |
Component: | Cpp Run-time | Version: | |
Keywords: | Cc: |
Description (last modified by )
Gcc 5 introduced a new C++ ABI to conform with the 2011 standard, in particular for strings and lists. This causes linker errors when mixing the old and the new ABI.
6f37672/OMCompiler introduced the compiler flag
-D_GLIBCXX_USE_CXX11_ABI=0
to be able to already use gcc5 on systems that still were based on gcc4 and the old ABI.
Meanwhile gcc5 is becoming the standard compiler and recent binary distributions of boost 1.58 finally require the new ABI. f0613dd/OMCompiler accounts for this.
The change works on systems with the old ABI and on systems with the new ABI, provided the default system compiler is used for the Cpp runtime.
Linker errors can generally be avoided when using the same compiler for boost and for the Cpp runtime.