【发布时间】:2015-10-26 17:46:30
【问题描述】:
我正在尝试运行具有 C++ NDK 编译代码的应用程序,但出现以下异常:
java.lang.UnsatisfiedLinkError: dlopen failed: 无法定位“mylib.so”引用的符号“”
我不明白为什么我没有得到缺少的符号:symbol ""
在其他情况下,缺少的符号如下所示:here
我怎样才能找到丢失的符号或问题所在?
谢谢!!
【问题讨论】:
-
您是否尝试将这段输出复制到文件并使用二进制查看器进行分析?也许它只是引号之间的一个不可打印的字符?
-
谢谢!我会试试的。
-
终于找到了问题所在。编译时我没有包括所有 .h 文件。现在我有一个“包含”文件夹,我在其中使用 .sh 脚本复制所有 .h 文件。
-
您能再解释一下解决方案吗?我现在遇到了用clang编译的这个问题。是不是因为我自己的库缺少一些符号?
-
是的。我通过将所有 .h 文件放在“包含”文件夹中来修复它。现在一切正常。
标签: android-ndk