如何合并为armv7和i386构建的两个.a文件?

时间:2015-01-21 01:10:56

标签: ios iphone xcode ipad static-libraries

我有2个静态库(.a)文件。这两个文件基本上是相同的库。 一个用于架构armv7,另一个用于架构i386。 是否可以将这两个库合并为一个文件? 不幸的是,我没有任何源代码可以重新构建它们。

提前谢谢你:D

1 个答案:

答案 0 :(得分:17)

您需要了解使用lipolibtool命令行工具可以做些什么,这两个工具都附带Xcode。

Here's a tutorial that might get you started关于这个过程。

步骤包括:

  1. lipo -info libFirst.a libSecond.a找出.a文件中的架构
  2. lipo -extract armv7s libFirst.a -o libFirst_armv7s.a提取您想要的架构
  3. libtool -static libFirst_armv7.a libSecond_armv7.a -o libCombined_armv7.a将特定于体系结构的.a文件合并为一个
  4. lipo -create libCombined_armv7.a libCombined_armv7s.a -o libCombined.a这将为您提供最终的.a库。
  5. 这里的some older documentation from Apple描述了如何使用这些工具创建组合静态库。