java.lang.UnsatisfiedLinkError - native method

A

andrej.frelih

java.lang.UnsatisfiedLinkError - native method

Hello.

I have one problem regarding the native method compilation.
I get the following error for ONLY ONE FUNCTION THAT I RECENTLY ADDED:


Exception in thread "main" java.lang.UnsatisfiedLinkError: helloworld
at
com.hp.openview.ib.api.jopc.JOpcApplication.helloworld(Native Method)
at
com.hp.openview.ib.api.jopc.JOpcApplication.hellokrava(JOpcApplication.java:
854)
at OpcApplication.main(OpcApplication.java:40)


For example the old function ApplModify and ApplGet work fine.

One thing that i have noticed when i run nm(prints the list of common
object names) on the compiled library
is that my NEWLY added helloworld function contains this "__Fv" at the
end of the name that is why i think it cannot be found by the java
class. So i think it is a problem with the library compilation, but i
don't know where to look.

ApplGet| 36088|extern|code |$CODE$
ApplGet| 36088|extern|entry |
ApplModify| 36232|extern|code |$CODE$
ApplModify| 36232|extern|entry |
helloworld__Fv| 36496|extern|entry |
helloworld__Fv| 36496|extern|code |$CODE$

Does anyone have an idea please, or needs more information(code
snapshots).


Regards,
Andrej
 
R

Roedy Green

Does anyone have an idea please, or needs more information(code
snapshots).

See http://mindprod.com/jgloss/sscce.html

Without the complete code, you are asking your doctor to diagnose the
causes of your depression from some toenail clippings.

Next helloworld sounds like an unlikely name for a JNI method. It
sound much more like the name of a Java class or method.

You need to compile your C++ with a static library, and wrap it all up
into a DLL. Check that all three modules are in the same DLL. You
also need to get the DLL on the path or library path.

It is possible you have used some dependent C++ library not on the
path that only one of your modules use.

Before you post, please make sure your Java follows the caps
conventions in http://mindprod.com/jgloss/codingconventions.html
Just a cap or underscore out of place will derail you. C++ will often
let you make mistakes without telling you.

Freshly generate your JavaH.

Review http://mindprod.com/jgloss/jni.html
to make sure you have not overlooked one of the basics.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,013
Latest member
KatriceSwa

Latest Threads

Top