利用终端指令合并支持模拟器和真机的静态库

制作.a静态库时,需生成了支持模拟器和真机的静态库,然后在开发中我们在模拟器和真机上测试时,就需要来还更换静态库,造成极大的麻烦,因此,我们可以通过终端指令将支持模拟器和真机的静态库合并一个静态库,这样在模拟器和真机上都可以使用

当我们在模拟上使用真机的静态库时,就会报如下错误,这种错误我们在以后的开发中会经常遇到:

该错误大体意思是该静态库不支持x86_64,原因是因为模拟器的处理器是x86_64架构的,而真机的都是采用的arm7,arm7s,arm64架构的,相反在真机上使用模拟器的静态库会报相反的错误

现在我们就将支持模拟器和真机的静态库通过终端指令合并为一个静态库

假设我们当前目录下有两个文件夹,一个为libDev,一个为libPro,两个文件夹下各有一个static.a静态库和一个xxx.h头文件

打开终端,进入libdev和libPro所在的目录

通过cd libDev进入libDev目录

通过lipo -info static.a指令查看当前静态库支持的平台如下

同样,进入libPro目录,通过lipo -info static.a指令查看当前静态库支持的平台如下

 

通过lipo -create libDev/static.a libPro/static.a -output common.a合并为一个静态库,common.a就是合并完的静态库,默认放在当前目录下

注意:虽然将真机和模拟器的静态库合并在一起之后,以后我们就不用关心当前是允许在模拟器还是真机了,但是如果在程序发布时还是建议大家使用真机的静态库,减少不必要的空间占用

(补充:生成的静态库有四个版本:真机-Debug版本,真机-Release版本,模拟器-Debug版本,模拟器-Release版本,在升级静态库时要注意些)

转载于:https://www.cnblogs.com/qiaomc/p/5820221.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值