如何将静态库合并为单个库?
我有三个静态库libSignatureLibary_armv6.a,libSignatureLibary_armv7.a和libSignatureLibary_i368.a
现在我想将这三个文件合并到一个单独的库中,该库可以命名为libSignatureLibary.a
谷歌搜索时,我发现lipo是开源工具!
我是否需要运行任何额外的脚本语言来合并
或在终端脂肪中传递lipo的参数。
可以建议我为这三个人建立公共库。
@thanks提前 基兰
答案 0 :(得分:29)
打开终端并转到libs文件夹。 然后使用命令:
lipo -create libSignatureLibary_armv6.a libSignatureLibary_armv7.a libSignatureLibary_i368.a -output libSignatureLibary.a
答案 1 :(得分:0)
创建或操作通用文件:将通用二进制文件转换为单个体系结构文件,反之亦然。
lipo
中的 liposuction
。如您所知,在构建项目时,Xcode会为不同的CPU体系结构生成二进制文件。
fat
二进制文件中。 另一个示例是,当您将应用程序发布到AppStore时,可以使用-remove
选项删除不必要的arch。
如果尝试使用二进制文件构建项目而没有必要的架构,则会出现错误[Could not find module for architecture]
建筑:
如果您尝试对具有相同拱形的二进制文件运行此命令,则会得到
fatal error: <binary_list> have the same architectures (<arch>) and can't be in the same fat output file
请注意,-create
选项没有参数
lipo libMy_armv6.a libMy_armv7.a libMy_i368.a -create -output libMy.a
检查现有体系结构
lipo -info <binary_path>
//or
file <binary_path>
答案 2 :(得分:-1)
lipo -create libSignatureLibary_armv6.a libSignatureLibary_armv7.a libSignatureLibary_i368.a -output libSignatureLibary.a