XCode10 运行app报错

  原因很简单:Xcode10起,苹果摒弃了对libstdc++库的支持转而支持libc++库了。为了保证老代码能跑,必须将几个库复制到对应文件夹(见后)。同时修改Build Phases中的Link Binary With Libraries小节,增加对libstdc++的3个库的引用

  相应文件下载url:https://github.com/codesourse/libstdc-

  这个链接包含一个脚本,运行后搞定一切。

  详细知识点:从Xcode10不再支持libstdc++说起

动态库:

目录:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib
文件:
ibstdc++.dylib,libstdc++.6.dylib,libstdc++.6.0.9.dylib

真机:

目录:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib
文件:libstdc++.tbd,libstdc++.6.tbd,libstdc++.6.0.9.tbd

模拟器:

目录:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib
文件:
libstdc++.tbd,libstdc++.6.tbd,libstdc++.6.0.9.tbd

 

posted @ 2019-02-01 11:39  badwood  阅读(192)  评论(0编辑  收藏  举报
Badwood's Blog