我正面临一种我不知道的情况。我试图测试一个我用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实现有关,我没有任何线索。我非常感谢你的坦诚建议。
此致 穆罕默德。
答案 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*)
。