业务场景
最近在使用mac m1pro xcode14.2运行一个17年的ios老项目。遇到了一些不兼容的问题,比如:
library not found for -lstdc++.6.0.9
dyld: Library not loaded: /usr/lib/libstdc++.6.dylib
经过分析-这个错误原因是因为iOS10.0之后去掉了lstdc++.6.0.9.tbd动态库,也就是Xcode10以后的版本会有这个问题。
解决方案
下载对应的配置文件
下载链接:https://download.csdn.net/download/u011143504/87472487?spm=1001.2014.3001.5501
文件配置路径:
模拟器:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/
真机(iPhone):
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/
macOS:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/
如果配置完后,还有类似的报错,按照以下方式操作:
把文件中的libstdc++.6.0.9.dylib赋值到新版Xcode同样的目录下(模拟器、真机、macos),右键复制copy到同目录下取名叫libstdc++.6.dylib和libstdc++.dylib 即可