在ios Xcode10下小白都能解决library not found for -libstdc++.6.0.9

写在前面 library not found for -libstdc++.6.0.9,今天做项目的时候碰到这个问题,解决的过程中遇到了目录路径不对的问题(不在通常的/Applications/Xcode.app......下面),花费了我半天时...

写在前面

library not found for -libstdc++.6.0.9,今天做项目的时候碰到这个问题,解决的过程中遇到了目录路径不对的问题(不在通常的/Applications/Xcode.app......下面),花费了我半天时间,记录一下,也给别人当做参考。

解决方法

这个问题的原因是Xcode10把libstdc++换成了libc++,解决方法有2种,选择哪种都可以,能解决问题就行;但是,值得注意的是这种情况:你的项目引用了第三方库(如极光推送),然而这个库引用了旧库libstdc++,这时候你只能用方法2了。所有解决方法如下:

方法1:
单击项目名-->Build Phases-->Link Binary With Libraries,删除6.0.9依赖添加Libc++.tdb

方法2:
对应文件夹下添加对应的三个库,获取Xcode9旧库(对你有帮助github给个star)
①在RuntimeRoot的lib里面增加libstdc++.6.0.9.dylib,libstdc++.6.dylib,libstdc++.dylib,路径如下:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/(下文有进入目录方法)

②在iPhoneOS.sdk的lib里面增加libstdc++.6.0.9.tbd,libstdc++.6.tbd,libstdc++.tbd,路径如下:

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

③在iPhoneSimulator.sdk的lib里面增加libstdc++.6.0.9.tbd,libstdc++.6.tbd,libstdc++.tbd,路径如下:

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

如何进入目录

访达-->前往文件夹...-->输入路径。(进不了目录的继续往下看)

问题中的问题

有没有小伙伴和我一样进不去目录的?把路径复制上去,进不了,什么情况?我猜测是不是我Xcode的安装路径不一样导致的?我使用mac系统的时间不是很长,不太了解是怎么回事,后来在网上找到了查看安装路径的方法。活动监视器-->Xcode-->左上角第二个按钮-->打开的文件和端口。对比着把头替换掉就可以了。(找不到活动监视器的往下看,否则可忽略)

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

活动监视器

这个步骤是写给不怎么会用mac的小伙伴的,有可能不在「其他」这个归类里面,在Launchpad里面找就行,你一定能找到的。上图:


  • 发表于 2019-05-27 09:20
  • 阅读 ( 253 )
  • 分类:网络文章

条评论

请先 登录 后评论
不写代码的码农
小编

篇文章

作家榜 »

  1. 小编 文章
返回顶部
部分文章转自于网络,若有侵权请联系我们删除