如何将"胖"库变成"非胖"库?

tof*_*tim 20 c++ compiler-construction macos

我正在尝试使用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中搜索"删除脂肪文件"时出现的各种链接.帮助!)

Jon*_*han 41

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

lipo libx.a -thin armv6 -output libx-armv6.a
lipo libx.a -thin armv7 -output libx-armv7.a
Run Code Online (Sandbox Code Playgroud)