3 回答
TA贡献1851条经验 获得超4个赞
如果要处理多体系结构静态库,则需要一些额外的操作来精简每个库,组合精简的版本,然后增加结果。这是一个方便的脚本,您可以对其进行编辑以满意的方式完成所有这些工作。这个例子有三个iOS的图书馆path/to/source/libs/libone.a,path/to/source/libs/libtwo.a以及path/to/source/libs/libthree.a和它们合并成一个单一的库libcombined.a。
#! /bin/bash
INPATH="path/to/source/libs"
LIBPREFIX="lib"
LIBS="one two three"
LIBEXT=".a"
OUT="combined"
ARCHS="armv7 armv7s arm64"
for arch in $ARCHS
do
for lib in $LIBS
do
lipo -extract $arch $INPATH/$LIBPREFIX$lib$LIBEXT -o $LIBPREFIX$lib-$arch$LIBEXT
done
INLIBS=`eval echo $LIBPREFIX\{${LIBS// /,}\}-$arch$LIBEXT`
libtool -static -o $LIBPREFIX$OUT-$arch$LIBEXT $INLIBS
rm $INLIBS
done
OUTLIBS=`eval echo $LIBPREFIX$OUT-\{${ARCHS// /,}\}$LIBEXT`
lipo -create $OUTLIBS -o $LIBPREFIX$OUT$LIBEXT
rm $OUTLIBS
- 3 回答
- 0 关注
- 343 浏览
添加回答
举报