緣由很簡單: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