0

因此,我在我的 Android 手机上安装了 Ubuntu(但仍使用 Android 内核),目的是使用它为使用glibc.

我制作了一个库,我打算在我想要制作的应用程序中使用它,使用 JNI,但我正在使用数学库。我的问题是:

有没有办法将这些库包含到我创建的库中,以便我的手机可以使用 glibc 库而不是仿生(这是 NDK 使用的)库?

注意:我尝试制作一个使用库和静态链接的测试程序,以确保编译后的代码可以在 android OS 而不仅仅是 Ubuntu 上运行,我得出的结论是:) 所以任何关于我的问题会很有帮助。

4

1 回答 1

0

您可以使用从任何文件ar中提取原始文件:.o.a

ar x libm.a

然后,您可以选择您喜欢的任何 .o 文件并将它们链接到您自己的代码中。

.a库文件可以被视为具有额外符号索引功能的 tar 文件(尽管我不知道内部结构有多相似)。

警告:通常,您只能在主应用程序中使用静态库中的 .o 文件。如果您尝试将它们链接到共享库(.so文件)中,您可能会不走运。.o需要创建该文件才能-fPIC使其正常工作,而静态库通常不是这种情况。

于 2013-07-10T10:35:29.170 回答