Xcode10 缺失libstdc++无法编译解决方案

报错的关键词是:libstdc++。

原因是苹果在 XCode10 和 iOS12 中移除了 libstdc++ 这个库,由 libc++ 这个库取而代之,苹果的解释是 libstdc++ 已经标记为废弃有5年了,建议大家使用经过了 llvm 优化过并且全面支持C++11的 libc++ 库。

如果是第三方的sdk引用到了这个库,只能采取临时解决方案,先让项目能够运行起来。

临时解决方案:

真机通过编译解决方法:
1.下载链接:http://ouz34cilp.bkt.clouddn.com/libstdc++.6.0.9.tbd.zip
2.将压缩之后的内容拷贝到目录:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/libstdc++.* /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/

模拟器通过编译解决方案:
1.下载链接:http://ouz34cilp.bkt.clouddn.com/libstdc++_sim.zip
2.将压缩之后的内容拷贝到目录:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/

1.下载链接:http://ouz34cilp.bkt.clouddn.com/libstdc++.dylib_sim.zip
2.将压缩之后的内容拷贝到目录:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/

熟悉的模拟器:


image.png

完美解决方案:
1.将用到 libstdc++ 的地方重新调整为依赖 libc++。
2.三方库用到 libstdc++ 的地方,升级三方库。

ps:避免三方库的其他问题,升级你的CocoaPods。

Xcode11解决方案:https://github.com/cy920820/Libstdc-.6.0.9-files

你可能感兴趣的:(Xcode10 缺失libstdc++无法编译解决方案)