我有2个静态库(.a)文件。这两个文件基本上是相同的库。 一个用于架构armv7,另一个用于架构i386。 是否可以将这两个库合并为一个文件? 不幸的是,我没有任何源代码可以重新构建它们。
提前谢谢你:D
答案 0 :(得分:17)
您需要了解使用lipo
和libtool
命令行工具可以做些什么,这两个工具都附带Xcode。
Here's a tutorial that might get you started关于这个过程。
步骤包括:
lipo -info libFirst.a libSecond.a
找出.a文件中的架构lipo -extract armv7s libFirst.a -o libFirst_armv7s.a
提取您想要的架构libtool -static libFirst_armv7.a libSecond_armv7.a -o libCombined_armv7.a
将特定于体系结构的.a文件合并为一个lipo -create libCombined_armv7.a libCombined_armv7s.a -o libCombined.a
这将为您提供最终的.a库。这里的some older documentation from Apple描述了如何使用这些工具创建组合静态库。