Android:无法加载库

时间:2012-05-25 19:24:09

标签: android-ndk

我正面临一种我不知道的情况。我试图测试一个我用C ++实现的方法,并使用swig生成包装器。编译后,当我尝试运行应用程序时,出现错误java.lang.UnsatisfiedLinkError

进一步指出

cannot load library:reloc_library[1311]:33
cannot locate '_Z13recognizeFacePKcS0_'
...  

然后突然抛出异常。

我尝试使用adb shell调试并在正确的位置找到库(data / data / com / mesh / faceAuth / lib / libfaceAuth.so)但是它给出了同样的错误。我还从this网站上读到,它与错误的STL实现有关,我没有任何线索。我非常感谢你的坦诚建议。

此致 穆罕默德。

2 个答案:

答案 0 :(得分:2)

最好猜测您提供的信息,您尝试加载的库需要在它之前加载一些依赖项。

例如:

System.loadLibrary("bullet");
System.loadLibrary("irrlicht");
System.loadLibrary("gamescript");

gamescript库需要在其之前加载其他2个库。否则,它会给你我提到的同样错误。如果您可以在此处发布.mk文件的某些部分以构建库,我可以进一步深入研究这个问题。

答案 1 :(得分:0)

您的错误与STL无关。

您可能在代码中引用了全局函数::recognizeFace(char const*, char const*)。也许,您定义了另一个函数,例如recognizeFace(char*, char*)