_GLIBCXX_USE_CXX11_ABI, GCC 4.8 and ABI compatibility

Viewed 21009

We received some libraries (.a) compiled for linux (probably compiled with GCC 6.x).

We are using GCC 4.8 and we are getting the error of the type: undefined reference to std::__cxx11::basic_string when trying to link.

Normally this could be fixed by making sure all units have been compiled with the same _GLIBCXX_USE_CXX11_ABI flag. However if I understood correctly, this was introduced by GCC 5.1 and on.

  1. Is there a way to make this work with GCC 4.8 or do we need to ask the people to recompile the libraries with a different _GLIBCXX_USE_CXX11_ABI?
  2. I guess if we are able to switch to GCC >= 5.1 we can make this work?

Thanks!

1 Answers
Related