gpt4 book ai didi

android - 无法加载库 soinfo_relocate(linker.cpp :975): cannot locate symbol "log2f" referenced by "libvlfeat.so"

转载 作者:太空宇宙 更新时间:2023-11-04 13:28:47 26 4
gpt4 key购买 nike

我正在开发一个以原生 C 为核心处理的 Android 应用程序。我使用 NDKr10 从 native 代码构建库并取得成功。但是当我尝试加载库时,会显示错误:

无法加载库 soinfo_relocate(linker.cpp:975):无法找到“libvlfeat.so”引用的符号“log2f”...

我发现一些资源说这个错误是由 gcc 编译器和 Android 目标版本引起的,但我不确定。(我的目标 SDK 是 21)。

更新:我的应用在 api 21 设备上运行良好,但较低版本显示错误。

有人知道这个问题吗?请给我一个解决方案来解决这个问题。

谢谢。

最佳答案

您必须按照解决它们之间依赖关系的顺序加载 .so 库。也就是说,您必须对加载顺序进行硬编码。

关于Android.mk的一些知识可以找here , herehere . (但如果您的项目编译成功,您的 Android.mk 可能会正常工作。)

有一个陷阱,libs/armeabilibs/armeabi-v7a 中的 .so 库没有合并。也就是说,如果您仅在 armeabi 版本中有一些预编译库,则为 armeabi-v7a 编译库是没有用的(因为预编译的 armeabi 库将找不到)。

关于android - 无法加载库 soinfo_relocate(linker.cpp :975): cannot locate symbol "log2f" referenced by "libvlfeat.so",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32327268/

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