library not found for -lstdc++.6
2018-09-27 本文已影响184人
Show_Perry
Xcode
升级至10.0
后运行工程出现错误提示:library not found for -lstdc++.6.0.9
问题排查
别慌首先我们去备份机器中打开老的Xcode 9.x
查找这个库是否是系统自带的,选择添加新库进行查找,如下图所示。如果没有请直接看解决办法。
可以确定该库为系统自带,而新的Xcode
根据错误提示是没有该库,那我们就手动移植过去,根据上图提示,打开终端进入库的位置,直接拷贝至新Xcode
来解决问题。
解决办法
- 拷贝旧
Xcode
中的库。没有的可以直接去这里下载地址GitHub
- 真机路径
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOSxxx.sdk/usr/lib
- 模拟器路径
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulatorxxx.sdk/usr/lib
- 添加至
Xcode10.0
中。
- 真机路径
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/usr/lib
- 模拟器路径
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.0.sdk/usr/lib
注意这里xxx.sdk根据上图Xcode提示的来,iOS12
模拟器运行时,dylib
加载会报错,/usr/lib/libstdc++.6.dylib: mach-o, but not built for iOS simulator
这个应该是模拟器的问题