1

我面临着一个我不知道的情况。我试图测试我在 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)找到库,但它给出了相同的错误。我还从这个站点读到,它与我不知道的错误 STL 实现有关。我将非常感谢您坦诚的建议。

问候,穆罕默德。

4

2 回答 2

2

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

例如:

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

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

于 2012-05-26T04:07:39.567 回答
0

您的错误与 STL 无关。

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

于 2012-06-18T07:03:15.903 回答