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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 编译报错 开心得升级完新 macOS,以及新 XCode,准备体验了一把 Dark Mode 编程模式,开心的打开...
    ForstDragon阅读 4,276评论 1 2
  • 一、 libstdc++ 库项目用到了c++,依赖了libstdc++.tbd和libstdc++.6.0.9.t...
    执着攀攀阅读 5,033评论 1 9
  • 原文Xcode10和iOS12适配Xcode10和iOS12适配(持续更新)适配iPhoneX全系详解,更新Xco...
    00after阅读 2,827评论 0 6
  • 1info.plist冲突 Xcode10 构建方法做了调整,导致编译报info.plist的错误。 解决方法:f...
    VicoV阅读 2,313评论 0 3
  • 我可能就是个很悲哀的人,从我出生开始,不,当我的母亲怀上我开始,我就是个多余的人。我的母亲,曾经三次躺上手术台,想...
    一个晗阅读 187评论 0 1