Q
组合静态库
36
A
回答
62
可以使用libtool
做
libtool -static -o new.a old1.a old2.a
0
你应该能够将一个链接到另一个。所以...只需使用ld
即可合并图像。
0
您应该使用ar -r
建立在MacOS档案:
ar -x libabc.a
ar -x libxyz.a
ar -r libaz.a *.o
+0
这根本不起作用。您将覆盖具有相同.o名称的文件。 –
3
如果你处理的多架构的静态库,有点需要额外的操作来精简每个库,合并细化的版本,然后增加结果。这里有一个方便的脚本,您可以编辑它来满足您的需求,并且可以一次完成所有功能。该示例使用三个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
相关问题
- 1. 聚合静态库
- 2. 将第三方静态库与cmake组合成一个独立静态库?
- 3. WAF - 结合静态库
- 4. 合并PHP静态数组
- 5. 静态大小的组合
- 6. 混合静态和动态(共享)库?
- 7. 混合静态库和共享库
- 8. 混合共享库和静态库
- 9. 如何组合两个静态数组
- 10. 链接静态库与静态库
- 11. C++:静态库引用静态库
- 12. iOS静态库引用静态库
- 13. UNIX:静态库链接到静态库
- 14. Swift框架和Cocoapods - 整合静态库
- 15. WPF - 添加静态项目组合框
- 16. 组合框的静态值MVVM
- 17. 静态库
- 18. 静态库
- 19. C#静态库
- 20. iOS静态库?
- 21. 静态库
- 22. 静态库Android
- 23. Windows静态库
- 24. 将类重组为静态库
- 25. 从一组静态库构建框架
- 26. 静态数组
- 27. Linux GNU构建:从一组静态库中构建动态库
- 28. QT静态库静态编译
- 29. 静态库的静态成员
- 30. Visual Studio:静态链接到静态库
这实际上比'ar'更好的解决方案。谢谢! –
我可以在哪里运行? –
任何命令行(bash),如果你有开发者的扩展,你应该在PATH中有libtool。或者,作为xcode中的后期构建步骤。 – Bruce