2019-08-12 解决library not found for -lstdc++.6.0.9

一,现象

Xcode升级到Xcode 10.0后,编译项目出现改错误提醒

二,原因

Xcode升级到Xcode10.0后,由于去掉陈旧的libstdc++库替换为libc++,libc++相对是苹果最新版的C++库,经过优化并全面支持C++11

三,解决方法

  1. 如果是自己的源码引用了该库,则需要替换成libc++库
    单击项目名-->Build Phases-->Link Binary With Libraries,删除6.0.9依赖添加libc++.tdb;
  2. 如果是第三方库引用了6.0.9库,则只能选择手动添加到对应的目录
    比如,支持真机编译调试需要往:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/目录添加libstdc++.6.0.9.tbdlibstdc++.6.tbdlibstdc++.tbd这三个文件。
    这三个文件可以从官方Xcode10以前的版本中获取到,也可以直接从我的百度网盘下载[链接: https://pan.baidu.com/s/19u_qAZBePthPQjWWf-PhTQ 提取码: kd9x]。
    支持手机模拟器编译调试需要往:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/添加以上的三个库文件。

四,补充

对于第三方使用了6.0.9库的,正确的解决办法,推荐还是去更新一下第三方的代码,因为在Xcode10以后,每当你更新Xcode后,你都需要重新配置以上的过程,这样的方式很不合理,比如我这边就遇到了这样的情况,第三方库引用了6.0.9库,导致我每次更新Xcode都需要重新配置以上!如果第三库已经解决了升级了自己库的这个问题,你就可以通过升级第三方库来一劳永逸的解决了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容