缘由很简单:Xcode10起,苹果摒弃了对libstdc++库的支持转而支持libc++库了。为了保证老代码能跑,必须将几个库复制到对应文件夹(见后)。同时修改Build Phases中的Link Binary With Libraries小节,增长对libstdc++的3个库的引用html
相应文件下载url:https://github.com/codesourse/libstdc-ios
这个连接包含一个脚本,运行后搞定一切。c++
详细知识点:从Xcode10再也不支持libstdc++提及git
动态库:github
目录: /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
真机:app
目录: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib 文件:libstdc++.tbd,libstdc++.6.tbd,libstdc++.6.0.9.tbd
模拟器:ui
目录: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib 文件: libstdc++.tbd,libstdc++.6.tbd,libstdc++.6.0.9.tbd