Apple开发_library not found for -libstdc++.6.0.9

1、报错

library not found for -libstdc++.6.0.9
  • libstdc++、libstdc++.6、libstdc++6.0.9
    • OpenCV 静态链接 libstdc++
    • 无论是你 C++ 跨平台编写,还是你引入了某个SDK其内部依赖这个libstdc++,都会导致整个工程编译不通过,报出Undefined symbols,C++ 的 List 找不到了

2、原因:

  • 苹果在XCode10和iOS12中 移除 了libstdc++这个库,由libc++这个库取而代之,
  • 苹果的解释是libstdc++已经标记为废弃有5年了,建议大家使用经过了llvm优化过并且全面支持C++11的libc++库。

3、临时解决办法

  • 3.1 拷贝缺失

  • 拷贝缺失的 libstdc++、libstdc++.6、libstdc++6.0.9
    • 下载地址连接 链接: https://pan.baidu.com/s/19Ko_DRV0Z1W5Tl3y0zYz2g 提取码: rsya
    • XCode10目前有正式版,和XCode9正式版可以共存,于是从XCode9的目录里,把缺失的.tbd文件拷贝过来,要记得拷贝2套,一套是模拟器的,一套是设备的,
  • 3.2 粘贴路径

  • 以下为路径(注意不同版本的sdk 路径不同需要自己替换)
    • 真机:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/
    
    • 模拟器:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/
    
posted @ 2022-03-14 13:58  CH520  阅读(228)  评论(0编辑  收藏  举报