在命令行上将静态iOS库打包在一起

在命令行上将静态iOS库打包在一起,ios,static-linking,lipo,libtool-xcode,Ios,Static Linking,Lipo,Libtool Xcode,我有一个为armv7和arm64构建的静态iOS库,我们称之为foo.a。它依赖于abc.a和def.a,我在armv7和arm64版本中有这两个版本。我想把它们打包到一个静态库中,这样您就可以只使用foo.a,而不必在项目中包含abc.a和def.a 简言之,我想做一些类似于 link arm64/abc.a arm64/def.a armv7/abc.a armv7/def.a foo.a -out foo.a 但我不知道该用哪种工具,或者我用错了。我尝试过libtool,例如: libt

我有一个为armv7和arm64构建的静态iOS库,我们称之为foo.a。它依赖于abc.a和def.a,我在armv7和arm64版本中有这两个版本。我想把它们打包到一个静态库中,这样您就可以只使用foo.a,而不必在项目中包含abc.a和def.a

简言之,我想做一些类似于

link arm64/abc.a arm64/def.a armv7/abc.a armv7/def.a foo.a -out foo.a
但我不知道该用哪种工具,或者我用错了。我尝试过libtool,例如:

libtool -static arm64/abc.a arm64/def.a armv7/abc.a armv7/def.a foo.a -o foo.a
但是我得到了错误信息

Unrecognized option: '-static'
fatal error: lipo: foo.a and armv7/abc.a have the same architecture (armv7) and can't be in the same fat output file
我试过lipo

lipo -create -output foo.a arm64/abc.a arm64/def.a armv7/abc.a armv7/def.a foo.a
但是我得到了错误信息

Unrecognized option: '-static'
fatal error: lipo: foo.a and armv7/abc.a have the same architecture (armv7) and can't be in the same fat output file

我一定是误解了这个过程的一些基本内容,但我很难弄清楚您拥有静态库的源代码是什么?如果是,则有许多教程使用run创建far库script@Tj3n我知道,但我们也从命令行编译它,我能找到的所有教程都谈到了Xcode菜单配置。如果你通过cl知道这方面的任何教程,我很乐意阅读。我不确定cl,我只知道设备的构建,那么你已经有了arm64、armv7、armv7s,也许你已经有了?您可以使用lipo来检查您的库中包含的所有体系结构是的,即foo。一个库是为armv7和arm64构建的,带有Xcode标志ARCHS=“armv7 arm64”,但abc.a和def.a不是多体系结构,它们分别为armv7和arm64构建了两个库