【发布时间】:2015-03-13 16:29:09
【问题描述】:
我正在尝试使用 System.loadLibrary 打开一个 dll
System.loadLibrary("myLib");
找到并加载了该库,但它因 UnsatisfiedLinkError 而崩溃
E/AndroidRuntime(5557): java.lang.UnsatisfiedLinkError: dlopen 失败: 找不到“libmyLib.so”引用的符号“pow”...
我认为 gcc 隐式链接到 libc 和 libm...
- 我尝试手动链接它,但没有成功。
- 我尝试链接到 gnustl_shared。
我错过了什么吗?
谢谢
【问题讨论】:
-
发给你
Android.mk和Application.mk -
在不确定它是否适用于这种特殊情况的情况下,值得一提的是,存在许多此类回归问题,其中仿生在将事物实现为宏和库函数之间切换。如果您使用将其视为库函数的工具链进行构建,并在假定它应该是宏的设备上运行,您将遇到这种失败。您可以尝试比较新 NDK 和旧版本的标头。
-
另一种可能是您不小心包含了开发系统中的标头而不是 Android NDK 标头。
标签: java android c++ android-ndk