2011-03-18 36 views
15

我试图从ARMv6及ARMv7体系结构,即库中删除重复的对象,如何将“胖”库变成“非胖”库?

$脂-info libx.a 架构FAT文件: libx.a是:用于ARMv6的ARMv7

正如预期的那样,“ar d”不直接工作,所以我使用“lipo -extract”来拆分库。然而,由此产生的图书馆仍然是“胖”的架构。

$ AR d libx中-armv6.a offendingduplicate.o AR: libx中-armv6.a是FAT文件((1)或脂(1)和AR(1)在其上使用的libtool ) AR:libx中-armv6.a:不适当的文件 类型或格式

$脂-info X-armv6.a架构 FAT文件:libx.a是:ARMv6的

我怎么能取消 - 认证图书馆? (你可以想象一下当你在谷歌搜索'删除胖胖文件'时出现的各种链接)帮助!!)

+1

为什么这个标签的linux?我不认为在Linux中支持通用二进制文件 – shodanex 2011-03-18 14:38:40

回答

31

我不熟悉lipo,但从它的man page,看起来你应该是能够做到这一点:

lipo libx.a -thin armv6 -output libx-armv6.a 
lipo libx.a -thin armv7 -output libx-armv7.a