gpt4 book ai didi

android - 制作一个静态链接的库

转载 作者:行者123 更新时间:2023-11-30 17:49:55 24 4
gpt4 key购买 nike

所以,我在我的 Android 手机上安装了 Ubuntu(但仍然使用 Android 内核),目的是使用它来使用 glibc 为设备编译 native 代码。

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

Is there a way to include these libraries into the library that I created so that my phone can use the glibc library instead of the bionic(which is what the NDK uses) library?

注意:我尝试制作一个使用该库和静态链接的测试程序,以确保编译后的代码可以在 Android 操作系统上运行,而不仅仅是 Ubuntu,我得出的结论是它可以运行:) 所以任何与我的问题相关的答案将会有很大的帮助。

最佳答案

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

ar x libm.a

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

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

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

关于android - 制作一个静态链接的库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17561542/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com