2
我有2個靜態庫(.a)文件。這兩個文件基本上是相同的庫。 一個爲建築armv7而建,另一個爲建築i386建造。 是否有可能將這兩個庫合併爲一個文件? 不幸的是,我沒有任何源代碼來重新構建它們。如何合併兩個爲armv7和i386構建的.a文件?
預先感謝您:d
我有2個靜態庫(.a)文件。這兩個文件基本上是相同的庫。 一個爲建築armv7而建,另一個爲建築i386建造。 是否有可能將這兩個庫合併爲一個文件? 不幸的是,我沒有任何源代碼來重新構建它們。如何合併兩個爲armv7和i386構建的.a文件?
預先感謝您:d
你需要了解什麼可以與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描述瞭如何使用這些工具來創建組合靜態庫。
非常感謝!這就是我一直在尋找的! – Joey 2015-01-21 01:33:27
我剛剛編輯鏈接,因爲它不正確。如果其他人感興趣,這裏是url。它真的幫助我了https://cvursache.com/2013/10/06/Combining-Multi-Arch-Binaries.html – gikygik 2016-04-12 18:41:26
另外'lipo -info'命令提供了一個庫檔案是否很胖的信息。這意味着如果您即將合併的檔案文件不夠肥厚,您可以直接使用#4。 – 2016-08-01 14:43:31