UnsatisfiedLinkError:<metode> ved kald af native metode
Jeg har lavet en klasse som via jni henter et windows handle. Jeg har fået lavet en dll i c++ som jeg har lagt i system32. Det går fint med kald af System.loadLibrary, men når jeg når til at kald metoden i dll'en får jeg :java.lang.UnsatisfiedLinkError: getHwnd
at tm.MyCanvas.getHwnd(Native Method)
at tm.MyCanvas.main(MyCanvas.java:25)
Exception in thread "main"
Jeg har checket af getHwnd metoden fines i dll:
¯®é®myRenderingLib.dll?Java_tm_MyCanvas_getHwnd@@YGJPAUJNIEnv_@@PAV_jobject@@@Z?Java_tm_MyCanvas_paint@@YGXPAUJNIEnv_@@PAV_jobject@@1@Z
min klasse ser således ud:
package tm;
import java.awt.*;
import java.awt.event.*;
public class MyCanvas extends Canvas
{
static {
System.loadLibrary("myRenderingLib");
}
public native void paint (Graphics g);
public native int getHwnd ();
public static void main (String[] args)
{
new MyCanvas().getHwnd();
}
}
Hvad er der galt ?
