升级到Xcode 10提示not found for -lstdc++.6.0.9

人无远虑必有近忧

朋友的一各项目需要打包 运行后发现报这个错误 之前我的解决办法是下载一个Xcode9运行就可以了

百度一下

原因分析:

Xcode10中libstdc++.6.0.9libstdc++被移除,Frameworks中libstdc++.6.0.9libstdc++找不到对应的库,报红。

 解决方案:

经排查,工程以及使用的第三方不存在依赖这两个库的情况(可能曾存在第三方依赖该库,第三方移除后未及时移除对库的依赖),最简单的方法:删除对该库的引用,重新运行,表现正常,问题解决。

若工程确实存在对该库的依赖,则不能这样简单粗暴的解决,查阅了一些资料,目前普遍存在两种解决方案:

方案1、 Xcode9中拷贝 -lstdc++.6.0.9以及libstdc++等库到Xcode10中(真机和模拟器都需要拷贝)

终端输入命令,打开Xcode的lib库目录,将需要的库文件从Xcode9目录下拷贝到Xcode10目录下:
打开命令如下:
1)真机:
open /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib
2)模拟器:
open /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib

参考文章:
https://www.smwenku.com/a/5ba17e582b71771a4da8be7c/zh-cn/

https://www.jianshu.com/p/76bd060bab34

方案2、 替换苹果支持的libc++

1)替换工程用到libstdc++.6.0.9以及libstdc++的地方,同时替换需要依赖该库的第三方
如:第三方分享Mob:SMSSDK:http://wiki.mob.com/快速集成-11/
文档中则对libstdc++的依赖进行了处理

3ddXG6KR14_16_29__10_08_2018.jpg

赠送各版本Xcode下载地址

xcode 各版本 dmg xip下载地址 

官方下载dmg 和xip

链接https://developer.apple.com/download/more/ (需要Apple ID 登陆).

必须先登录才能有权限下载

*(Newest on top. For each minor version (6.3, 5.1, etc.) only the latest revision is kept in the list.)

Xcode 10

  • 10.2 (Swift 5)
  • 10.1 (Last version supporting macOS 10.13.6 High Sierra)
  • 10

Xcode 9

Xcode 8

Xcode 7

Xcode 6

Even Older Versions (unsupported for iTunes Connect)

Older Betas

所有链接和beta 版都在 xcodereleases.com

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值