静的ライブラリにサードパーティのライブラリを含めることは可能ですか? 例 : AFNetworking をスタティック ライブラリに含めることができますか
2185 次
2 に答える
0
完全を期すために、以前の回答/コメントは良いアドバイスを提供すると思うので、これはビルドの出力ライブラリにサードパーティのライブラリを含めるためのカスタムスクリプトです
set -e
set +u
TGT_FULLPATH="${BUILT_PRODUCTS_DIR}/${EXECUTABLE_NAME}"
TMP_FULLPATH="${BUILT_PRODUCTS_DIR}/original_${EXECUTABLE_NAME}"
THIRPARTY_FULLPATH=...
ARCHSPECIFIC_THIRDPARTY="${BUILT_PRODUCTS_DIR}/thinThirdparty"
# What's the architecture for the lib we just built?
LIPO_ARCH=$(lipo -info ${TGT_FULLPATH} | awk 'END{ print $NF }')
# Create a thirdparty lib only for the current architecture
lipo -thin ${LIPO_ARCH} ${THIRPARTY_FULLPATH} -output ${ARCHSPECIFIC_THIRDPARTY}
# Join the two libaries
mv ${TGT_FULLPATH} ${TMP_FULLPATH}
libtool -static -o ${TGT_FULLPATH} ${TMP_FULLPATH} ${ARCHSPECIFIC_THIRDPARTY} 2>&1 >/dev/null
# Remove the temp artifacts
rm ${TMP_FULLPATH}
rm ${ARCHSPECIFIC_THIRDPARTY}
于 2014-01-29T09:16:58.550 に答える