我使用Android NDK r8使用 include $(BUILD_STATIC_LIBRARY)生成多个静态库,并成功获取:lib1.a,lib2.a,lib3.a等。
现在我想将这些静态库合并为单个库。
我尝试使用Android NDK中的ar.exe:
android-ndk-r8\toolchains\arm-linux-androideabi-4.4.3\prebuilt\windows\arm-linux-androideabi\bin\ar.exe r libALL.a lib1.a lib2.a lib3.a
但是当我将 libAll.a 用于Android NDK makefile时,它没有说没有索引。
如何添加此索引?
其他问题:
当我显示存档 libAll.a 的内容时,我看到 lib1.a , lib2.a , lib3.a 而不是这些库中的 .o 符号。
如何更改(=从静态库中提取.o以将其合并到libAll.a中)?
由于
答案 0 :(得分:1)
ar
只是一个像zip这样的归档工具。它接收给定的输入文件并生成.a
存档。如果要将所有.o
个文件包含在单个存档中,则必须指定每个单独的文件。我不知道如何在WIndows上执行此操作,但在Linux上,您可以使用类似ar rs $(find . -name *.o)
的内容。