Xcode10与iOS12 适配以及解决方案 --持续更新

报错:library not found for -libstdc++.6.0.9

libstdc++、libstdc++.6、libstdc++6.0.9

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

目前发现高德地图有这个库

原因:

苹果在XCode10和iOS12中移除了libstdc++这个库,由libc++这个库取而代之,

苹果的解释是libstdc++已经标记为废弃有5年了,建议大家使用经过了llvm优化过并且全面支持C++11的libc++库。

临时解决办法

拷贝缺失的 libstdc++libstdc++.6libstdc++6.0.9

下载地址连接 链接: https://pan.baidu.com/s/19Ko_DRV0Z1W5Tl3y0zYz2g 提取码: rsya

XCode10目前是Beta版,和XCode9正式版可以共存,于是从XCode9的目录里,把缺失的.tbd文件拷贝过来,要记得拷贝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/

例如12.0系统运行

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

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

 

library not found for -lcrypto 问题
目前发现 百度地图里边需要导入这个库 并且提供的有可以 自己添加进去

252ea40c78b1c56ed943868f6412d5c33a6.jpg

还有一种方式就是删除原来导入的pod 文件 重新 导入一次并且更新sdk 到最新版本

 

1. 提示文件重复

如果 因为三方库里带了或者重复创建的文件比如readme.md,LICENCE这类文件,删除掉或者改个名字就ok了

还有一种方式修改Xcode设置(Legacy Build System)
Xcode->File->Project Settings/Workspace Setting-> Build System -> Legacy Build System

注意 改为Legacy Build System之后发现launchscreen不显示图片了 可以通过重启解决

36ca9a90874be7dfb8d0514aa35d856762d.jpg

9f0e23e50749cd418d74feea0c11ba7e9d3.jpg

头文件引入不能自动提示引入非当前文件夹的头文件,

改为Legacy Build System就又能自动提示了

 

转载于:https://my.oschina.net/iceTear/blog/2050270

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值