3 回答

TA貢獻(xiàn)1880條經(jīng)驗(yàn) 獲得超4個(gè)贊
如果要處理多體系結(jié)構(gòu)靜態(tài)庫,則需要一些額外的操作來精簡每個(gè)庫,組合精簡的版本,然后增加結(jié)果。這是一個(gè)方便的腳本,您可以對其進(jìn)行編輯以滿意的方式完成所有這些工作。這個(gè)例子有三個(gè)iOS的圖書館path/to/source/libs/libone.a,path/to/source/libs/libtwo.a以及path/to/source/libs/libthree.a和它們合并成一個(gè)單一的庫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

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超5個(gè)贊
您應(yīng)該用來ar -r在MacOS上創(chuàng)建檔案:
ar -x libabc.a
ar -x libxyz.a
ar -r libaz.a *.o
- 3 回答
- 0 關(guān)注
- 479 瀏覽
添加回答
舉報(bào)