Graphbibliothek in JNI

Status
Nicht offen für weitere Antworten.
B

bernd1223

Gast
Hallo,

ich habe eine Graphbibliothekt - Visual. Aus einem bsp example heißt es:

System.loadLibrary("../../lib/win32/jni/VisualJNI");//load the go visual dll

Ich bekomme den Fehler: Unsatisfied Link Error no C:............... in java library path

Was muss ich da jetzt genau einstellen? Googeln brachte keinene Erfolg. Habe leider wenige Programmierübung..

greets
 

KrokoDiehl

Top Contributor
Java sucht im
Code:
java.library.path
nach zu ladenden Bibliotheken. Starte dein Programm mit dem Parameter
Code:
-Djava.library.path=MEIN_PFAD
, dann sollte es gehen.
Aber vorsicht, wenn die geladene Bibliothek weitere Abhängigkeiten hat, werden diese vom Betriebssystem geladen. Zumindest unter Windows ist's so, dass dann über PATH (Umgebungsvar.) gesucht wird, nicht mehr über den
Code:
java.library.path
.
 
B

bernd1223

Gast
hallo,

danke für die Antwort.

Allerdings habe ich noch einige Fragen offen:

welchen pfad muss ich direkt in java angeben: System.loadLibrary("C:....)??? Es gibt vier .dll

Weiters wenn ich mit Paramter starte: Welchen eigenen Pfad soll ich da angeben?

greets
 

Murray

Top Contributor
Bei System.loadLibrary gibst du keinen Pfad, sondern nur den Namen der DLL ohne die Extension ".dll" an.
Stattdessen kannst du auch System.load verwenden; da ist dánn der komplette Pfad inklusive der Extension gefragt.
Welche der vier DLLs du angeben musst, sollte der Doku der Library zu entnehmen sein.
 

Marco13

Top Contributor
Einen kompletten Pfad anzugeben führt of zu Problemem. Z.B. zu solchen Foren-Threads wie diesem hier.
( ???:L )
 

Ein Keks

Bekanntes Mitglied
das einfachste ist die dlls in den selben ordner wie die jar zu legen, da dieser bei windoof standart mäßig zum library.path gehört und per System.loadLibrary(name) zu laden.
allerdings wundert es mich, dass die passende class-datei/jar nicht dabei ist wenn die dlls für jni ausgelgt sind ???:L
 
Status
Nicht offen für weitere Antworten.

Oben