报错原因
Xcode升级到Xcode10.0后,由于去掉陈旧的libstdc++库替换为libc++,libc++相对是苹果最新版的C++库,经过优化并全面支持C++11
解决办法
下载libstdc++库,下载链接,提取码arms
将 libstdc++、libstdc++.6、libstdc++6.0.9拷贝到Xcode的如下目录:
1.真机环境:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/
2.模拟器环境:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/
拓展分析
拓展分析:出现原因主要是有时候第三方库中引用了libstdc++,但是Xcode10缺失改库,上面解决办法是治标之法,治本之法可以关注第三方库相关公告,一般第三方库会适配相应的Xcode版本,及时更新即可。