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<