我们收到了一些编译为Linux (.a) 的库(可能是使用GCC 6.x编译的)。
我们正在使用GCC 4.8,但在链接时出现了以下类型的错误:undefined reference to std::__cxx11::basic_string
。
通常情况下,可以通过确保所有单元都使用相同的_GLIBCXX_USE_CXX11_ABI
标志进行编译来解决此问题。但是,如果我理解正确,这是由GCC 5.1及以上版本引入的。
- 是否有办法使此方法与GCC 4.8配合使用,或者我们需要要求人们使用不同的
_GLIBCXX_USE_CXX11_ABI
重新编译库? - 如果我们能够切换到GCC >= 5.1,那么我们就可以解决这个问题了吗?
谢谢!