如何将“胖”库变成“非胖”库?

时间:2011-03-18 12:42:26

标签: c++ macos compiler-construction

我正在尝试使用armv6和armv7架构从库中删除重复的对象,即

  

$ lipo -info libx.a   胖文件中的体系结构:   libx.a是:armv6 armv7

正如预期的那样,“ar d”不能直接使用,因此我使用“lipo -extract”来拆分库。但是,由此产生的库仍然是“胖”架构。

  

$ ar d libx-armv6.a offendingduplicate.o ar:   libx-armv6.a是一个胖文件(使用   libtool(1)或lipo(1)和ar(1)就可以了   ar:libx-armv6.a:不适当的文件   类型或格式

     

$ lipo -info x-armv6.a架构   在胖文件中:libx.a是:armv6

我怎样才能使图书馆失去理智? (您可以想象当您在Google中搜索“删除脂肪文件”时出现的各种链接。帮助!!)

1 个答案:

答案 0 :(得分:39)

我不熟悉lipo,但是从man page开始,您似乎应该可以这样做:

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