美文网首页iOS开发技巧
Xcode10 缺失libstdc++无法编译解决方案

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

作者: 找不到好的ID | 来源:发表于2018-10-19 19:11 被阅读598次

    报错的关键词是: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。

    相关文章

      网友评论

        本文标题:Xcode10 缺失libstdc++无法编译解决方案

        本文链接:https://www.haomeiwen.com/subject/glduextx.html