Xcode10 Xcode11 libstdc++.6.0.9.tbd libstdc++.6.0.9.dylib 报错解决

升级Xcode10 后, 项目编译时可能会出现libstdc++.6.0.9系列的错。

原因:

苹果早在 Xcode 8中 就废弃了libstdc++, 给了开发者两年时间过渡, 如今从Xcode 10中已不再支持. 在 Build Phases > Link Binary With Libraries 中已经搜不到libstdc++的库了

解决

将缺少的库加入xcode10/11的相应目录。缺失的库可以在老版xcode目录中找

模拟器需要的tbd: libstdc++.6.0.9.tbd

路径:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/

真机需要的tbd: libstdc++.6.0.9.tbd

路径:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/

dylib : libstdc++.6.0.9.dylib (两个,包括快捷方式)

xcode11之前路径:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/

xcode11路径:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib

这里有所需要的库与打开相应路径的脚本:

链接: https://github.com/sy5075391/XcodeDeletion