2

我使用 Android NDK r8 生成多个包含 $(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

但是当我在 Android NDK makefile 中使用libAll.a时,它会说没有索引。

如何添加此索引?

其他问题:

当我显示归档libAll.a的内容时,我看到的是 lib1.alib2.alib3.a而不是这些库中的.o符号。

如何更改它(= 从静态库中提取 .o 以将其合并到 libAll.a 中)?

谢谢

4

1 回答 1

1

ar只是一个像 zip 一样的归档工具。它接受给定的输入文件并生成一个.a存档。如果要将所有.o文件包含在单个存档中,则必须指定每个单独的文件。我不知道如何在 WINdows 上执行此操作,但在 Linux 上您可以使用类似ar rs $(find . -name *.o).

于 2013-01-30T09:49:05.800 回答