JNI: UNsatisfiedLinkError

Status
Nicht offen für weitere Antworten.

joergh

Aktives Mitglied
Hallo!

Ich versuche eine selbstgeschriebene C-dll mit Java anzusteuern, was leider eine Exception auslöst. Ich weiss leider nicht weiter. Beim googlen finde ich ähnliche Probleme, aber meins trifft es nicht.

Ich erhalte folgende Fehlermedung (Exception):
Code:
Exception in thread "main" java.lang.UnsatisfiedLinkError: symServer.Simu.startEngine(Ljava/lang/String;)I
at symServer.Simu.startEngine(Native Method)

Mein Java-Code:
Code:
package symServer;

public class Simu {
  private static native int startEngine(String s);
.
.
.
.

  protected void startTheEngine(){
     startEngine(stringS);
  }

  static {
    System.loadLibrary("simu");
  }
}

Der dazugehörige C-ode:

Code:
JNIEXPORT jint JNICALL Java_Simu_startEngine
   (JNIEnv *env, jclass simu, jstring modell)
{
   return 0;
}

Anfangs gab es eine ähnliche Fehlermeldung, weil er die DLL nicht finden konnte. Seit er sie findet, dieser Fehler....

Vielleicht kennt ja jemand das Problem und kann mir helfen.

Danke & GRuß
 
T

tuxedo

Gast
UnsatisfiedLinkError heisst doch dass er die DLL nicht findet ... ?! Such mal nach dem Fehler hier im Forum. Hatten wir bereits mehrfach.

- Alex
 

Murray

Top Contributor
Wahrscheinlich hast du der Klasse ein Package verpasst, nachdem du die C-Header generiert hast; korrekt muesste die Funktion in C so aussehen
Code:
/*
 * Class:     symserver_Simu
 * Method:    startEngine
 * Signature: (Ljava/lang/String;)I
 */
JNIEXPORT jint JNICALL Java_symserver_Simu_startEngine
 (JNIEnv *env, jclass simu, jstring modell)
{
   return 0;
}

@alex: wenn die DLL nicht gefunden wird, sieht die Meldung so aus:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no simu in java.library.path

Hier wurde die DLL gefunden, aber in der DLL existierte kein Binding für Methode symServer.Simu.startEngine(Ljava/lang/String;)I (sondern eben nur für Simu.startEngine(Ljava/lang/String;)I)
 
T

tuxedo

Gast
Hmm, stimmt, hab mich wohl vom ersten Teil der Exception etwas verleiten lassen den rest nicht mehr korrekt zu lesen ;-)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C OpenCV: UnsatisfiedLinkError Allgemeine Java-Themen 5
T Eclipse Dll einbinden java.lang.UnsatisfiedLinkError nur in Eclipse nicht via javac Allgemeine Java-Themen 1
T JNI UnsatisfiedLinkError ... undefined symbol: __cxa_pure_virtual Allgemeine Java-Themen 10
T JNI - UnsatisfiedLinkError Allgemeine Java-Themen 9
B JNI - java.lang.UnsatisfiedLinkError Allgemeine Java-Themen 21
Hindi93 Fehlermeldung UnsatisfiedLinkError Allgemeine Java-Themen 8
eQuest JNI UnsatisfiedLinkError Allgemeine Java-Themen 5
N Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.library.p Allgemeine Java-Themen 4
heart_disease Probleme mit JNI: UnsatisfiedLinkError Allgemeine Java-Themen 6
L UnsatisfiedLinkError mal anders Allgemeine Java-Themen 4
I java.lang.UnsatisfiedLinkError: Allgemeine Java-Themen 8
D java.lang.UnsatisfiedLinkError Allgemeine Java-Themen 5
S java.lang.UnsatisfiedLinkError mit JNI Allgemeine Java-Themen 6
H JNI: loadLibrary liefert UnsatisfiedLinkError Allgemeine Java-Themen 2
T unsatisfiedlinkerror -> Diese Anwendung konnte nicht gest Allgemeine Java-Themen 2
K UnsatisfiedLinkError bei -> VTKInit Allgemeine Java-Themen 2
M JNI: nach verschieben in package UnsatisfiedLinkError Allgemeine Java-Themen 3
D JNI: UnsatisfiedLinkError Allgemeine Java-Themen 3
R JNI unsatisfiedLinkError Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben