user1382114
user1382114

Reputation: 41

Android: Cannot load library

I am facing a situation of which I have no idea. I am tried to test one method that I have implemented in C++ and I used swig to generate the wrapper. After compilation, when I tried to run the application, I got an error java.lang.UnsatisfiedLinkError.

It further states that

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

and suddenly throw exception.

I tried using adb shell to debug and found library in the right location (data/data/com/mesh/faceAuth/lib/libfaceAuth.so) but it gives the same error. I also read from this site, that it has to do with wrong STL implementation which I don't have any clue of. I will highly appreciate your candid suggestion.

Regards, Mohammed.

Upvotes: 1

Views: 3598

Answers (2)

Alex Cohn
Alex Cohn

Reputation: 57203

Your error has nothing to do with STL.

You probably reference a global function ::recognizeFace(char const*, char const*) in your code. Maybe, you have another function defined, for example recognizeFace(char*, char*).

Upvotes: 0

codetiger
codetiger

Reputation: 2779

Best guess with what information you have provided, The library you are trying to load needs some dependencies to be loaded before it.

For example:

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

gamescript library needs other 2 library to be loaded before it. Otherwise, it gives me the same error you have mentioned. I can dig further on this issue if you can post some part of your .mk file for building the library here.

Upvotes: 2

Related Questions