美文网首页iOS进阶高级iOS 收藏篇iOS OC
解决Xcode10 library not found for

解决Xcode10 library not found for

作者: devdawei | 来源:发表于2018-09-18 22:23 被阅读1879次

在Xcode9上正常编译的项目,在Xcode10上编译可能会遇到如下错误:

library not found for -lstdc++.6.0.9
library not found for -lstdc++.6
library not found for -lstdc++

这是因为Xcode10彻底废弃了libstdc++,相关的库文件libstdc++.6.0.9.dyliblibstdc++.6.dyliblibstdc++.dyliblibstdc++.6.0.9.tbdlibstdc++.6.tbdlibstdc++.tbd也从Xcode10中删除了。

最好的解决办法还是尽快转到libc++开发

如果还想要继续在Xcode10上编译依赖libstdc++的项目或库,可以通过把Xcode9中的libstdc++相关库文件复制到Xcode10中即可。
在Xcode9中搜索libstdc++相关的库,可以找到四个相关的文件:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libstdc++.6.0.9.dylib

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libstdc++.6.0.9.tbd

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/libstdc++.6.0.9.tbd

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/libstdc++.6.0.9.tbd

但是只找到了libstdc++.6.0.9.dyliblibstdc++.6.0.9.tbd ,找不到libstdc++.6.dyliblibstdc++.dyliblibstdc++.6.tbdlibstdc++.tbd,前往找到的这4个路径中会就会发现libstdc++.6.dyliblibstdc++.dyliblibstdc++.6.0.9.dylib的替身,libstdc++.6.tbdlibstdc++.tbdlibstdc++.6.0.9.tbd 的替身:

libstdc++.6.0.9.dylib libstdc++.6.0.9.tbd

所以我尝试将libstdc++.6.0.9.dyliblibstdc++.6.0.9.tbd 复制到Xcode10中,并制作libstdc++.6.dyliblibstdc++.dyliblibstdc++.6.tbdlibstdc++.tbd这四个替身文件,但是在模拟器上运行崩溃,自己制作替身的方案不可行,然后我改为了制作副本的方式成功在模拟器上运行。

libstdc++.6.0.9.dyliblibstdc++.6.0.9.tbd以及制作好的副本libstdc++.6.dyliblibstdc++.dyliblibstdc++.6.tbdlibstdc++.tbd下载地址点这里

相关文章

网友评论

  • sll_:牛逼!
  • lele8446:赞!就喜欢楼主手动制作类库的行为:grin:
  • 方寸山_linyut:楼主好人,解决了我的问题,谢谢
  • 2c7039186c6b:兄die,我的是科大讯飞的语音播报没有朗读,没升级之前正常,因为我项目里也用了libstdc++.6.0.9.tbd,我按照你的方法换了,还是不行,科大讯飞的集成方法我也看了,没什么问题,就是朗读没声音,折腾了很久,没找到原因
    devdawei:@一买财经 我没有接过科大讯飞的语音,建议你联系下科大讯飞,看他们是否有专业的解决方案
  • 追风筝的荧火虫:work for me, :+1:
  • BangRaJun:给力啊!老铁!
  • b2efe7751b24:我就把xcode9的那3个拷贝了过来,不行,希望这方法能行
  • YH_8f72:你是怎么发现这个路径下少这个库的?请指教解决问题的思路,感觉你好厉害。还有文件是哪两个文件的替身有是怎么看出来的,求大神指教
    YH_8f72:@devdawei 好好向大神学习
    devdawei:@YH_8f72 我编译的时候也遇到了问题,所以我先搜索了下那个编译错误,正好搜到了别人说可以暂时把Xcode 9中的库复制到Xcode 10中,但是没有详细的步骤,于是我在Xcode 9中全局搜索这几个库,发现有些搜不到,但是点进去搜到的目录,就能够发现那两个替身,你在替身上右键单击,选择显示原身,就会发现他们都是那一个的替身,我也依葫芦画瓢的把库复制过去然后制作替身,可以编译过去,但是模拟器运行崩溃,然后我就尝试制作副本,发现可以成功在模拟器上运行,所以写了这篇文章,希望能够帮助到遇到这个问题的小伙伴
  • 半杯茶半杯湖底沙_bf94:请问这么配置之后,可以直接打包上架吗?
    半杯茶半杯湖底沙_bf94:@devdawei 好的谢谢,过了十一我上一版试试
    devdawei:@半杯茶半杯湖底沙_bf94 这个我还没有试过,如果是你们自己项目里面用到的话,则最好转到libc++,如果是第三方项目有用到的话则最好更新一波第三方
  • 广州小单纯:感谢 模拟器可以运行起来

    请问可以转载吗?以后再遇到可以做一个记录,会标明参考地址的
    devdawei:@广州小单纯 可以的
  • C_HPY:厉害了,兄dei
  • 小璐有大大的梦想:感谢 模拟器可以运行起来
  • 叫我小小诗:感谢,解决了问题,我自己找的这些库导入都没有用,我可以在自己的文章里面引用你制作好的库的git地址嘛?会注明从你这边转载过去的....
    叫我小小诗:@devdawei 谢谢!
    devdawei:@叫我小小诗 可以的
  • 33a1a110e81e:非常感谢
  • 贫克慢:超棒的,别的小伙伴都不肯给我这几个c++库
  • atme:请问下,你确定能在iOS12系统的模拟器上运行?
    devdawei:可以运行
  • Kenter_Huang:苹果是已经抛弃标准c++库了吗
    devdawei:苹果只是把 C++ 标准库从 libstdc++ 改为了 libc++
  • VicLeeZhen:不错不错,最全面的了,GitHub也点了star
    devdawei:多谢:blush:
  • 风里的毛毛虫:登录只为赞你,解决了我的问题,你的1234很清晰明了。
  • sunmumu1222:你这整理够全的, 不错, 点赞

本文标题:解决Xcode10 library not found for

本文链接:https://www.haomeiwen.com/subject/sghvnftx.html