美文网首页
Xcode10 运行libstdc++报错处理方案

Xcode10 运行libstdc++报错处理方案

作者: 魔力双鱼 | 来源:发表于2018-12-03 15:29 被阅读0次

    安装了xcode10之后,运行之前的项目,报错:
    ld: library not found for -lstdc++.6.0.9
    clang: error: linker command failed with exit code 1 (use -v to see invocation)

    这个错误原因是因为iOS12.0中去掉了lstdc++.6.0.9.tbd动态库.
    iOS12.0中全部采用libc++代替lstdc++的动态库

    clang问题记:libc++和libstdc++

    思路: 因为beta版本Xcode是无法打包上传appstore,所以肯定还是需要Xcode9.4+Xcode10并行使用,而且现在部分第三方SDK依旧要依赖于lstdc++.6.0.9.tbd动态库,如果对代码进行改动或者修改Xcode的配置,可能会造成其他问题,例如在Xcode9.4上再次运行的时候可能会出现报错等等。

    所以最简单解决该问题的方法就是从Xcode9.4中找到动态库lstdc++.6.0.9.tbd文件copy到Xcode10beta下就可以完美解决问题。或者用古老的办法将iOS12的DeviceSupport文件copy到Xcode9.4下也可以完美解决Xcode9.4运行iOS12的问题。

    正式版Xcode10运行libstdc++报错处理
    需要将文件复制到下述四个路径下,才能保证模拟器和真机均好用
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/
    
    
    为了方便大家,在此提供lstdc++动态库文件下载和DeviceSupport下载 链接:

    DeviceSupport:iOS 7.0 - iOS 12 beta1 所有版本
    libstdc(按照文件顺序1、2、3、4)

    参考链接:https://www.jianshu.com/p/3afd5e8cdbf8

    相关文章

      网友评论

          本文标题:Xcode10 运行libstdc++报错处理方案

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