ar 解压一个.a文件报错: xxx.a is a fat file (use libtool(1) or lipo(1) and ar(1) on it)

Linux  使用终端指令 ar x /Users/apple/Desktop/libWC_LIB_SDKT.a
解压一个文件 报错如图所示:
1796177-335877c0be8a05aa

是因为该.a文件包含了多个cpu架构,比如armv7,armv7s,arm64等,此时可以用如下命令

首先需要判断当前.a文件包含了 那些CPU架构,使用指令:

otool -Vf /Users/apple/Desktop/libWC_LIB_SDKT.a 结果如图所示:
1796177-0e71a3f81f4eb840

然后此时使用指令分别进行如下操作:

lipo xx. a -thin armv7 -output xx_armv7.a

lipo lxx. a -thin arm64 -output xx_armv64.a

如图所示:
1796177-ff1111175524f89c

然后上图所示的最后两步操作 是合并这三个静态库文件。

yanbo-LuckydeMacBook-Pro:hb apple$ ar rc libwc_LIB_HB.a *.o

yanbo-LuckydeMacBook-Pro:hb apple$ ranlib libwc_LIB_HB.a

Ref: https://www.jianshu.com/p/4c98c5de956f

posted @ 2019-12-15 22:05  opencoder  阅读(779)  评论(0编辑  收藏  举报