iOS 编译报错,有关std::xxx ,例如:std::basic_ostream<char, std::char_traits<char> >

一些第三方中使用了c++,引用第三方的时候就会提示相关错误。

错误1:

std::basic_ostream<char, std::char_traits<char> >& std::operator<<<char, std::char_traits<char>,等等,如下图:

解决方法:在General-Linked Frameworks and Libraries 中添加libstdc++.6.0.9.tbd库即可,如下图:

错误2: 在导入libstdc++.6.0.9.tbd的情况下还是会提示std::xxx的错误,例如:

 "BOEIntegration::BOEHelper::resetSessionTimeOut(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const", referenced from:,如下图所示:

解决方法:在Build Setting-C++ Standard Library 中选择libstdc++(GNU C++ Standard library),如下图所示:

  libstdc++ (GNU  c++  standard  library ),deployment Target它支持最低到4.3 .

还有相关错误,这里提供参考链接:

xcode 中 c++ Standard Library的选择 和 如何混编c++

iOS链接错误,Undefined symbols for architecture arm64:std::__1::basic_string<char, std::__1::char_traits<

原文地址:https://www.cnblogs.com/lulushen/p/8866724.html