Problem beim Laden einer DLL-Bibliotheksdatei ... java.lang.UnsatisfiedLinkError: Bibliothek kann nicht geladen werden

8

Beim Laden einer DLL-Datei erhalte ich die folgende Ausnahme:

%Vor%

bin nicht sicher über die Ursache des Problems. Kann mir jemand bei der Lösung dieses Problems helfen?

Danke, Bhaskar

    
Bhaskara Krishna Mohan Potam 09.04.2010, 11:08
quelle

6 Antworten

5

Ich arbeite für das Unternehmen, das das Produkt herstellt, das Sie verwenden möchten. Dieser Fehler ist aufgetreten, wenn er mit einer inkompatiblen Version des zugrunde liegenden Layers installiert wurde, weil andere abhängige DLLs fehlen, wie von anderen vorgeschlagen. Zögern Sie nicht, unser Support-Team für weitere Hilfe zu kontaktieren.

    
dmurga 21.09.2010 01:38
quelle
2

Dies hat nichts mit dem Klassenpfad zu tun. Platzieren Sie die DLL im aktuellen Verzeichnis in einem der in der PATH-Umgebungsvariablen aufgeführten Verzeichnisse oder, am besten im nativen Bibliothekssuchpfad , und setzen Sie sie mit der Systemeigenschaft java.library.path :

%Vor%     
Dmitry Leskov 09.03.2010 11:24
quelle
1

Neben der Überprüfung, ob Sie den Pfad zur DLL in der richtigen Umgebungsvariablen angeben, sollten Sie auch Folgendes überprüfen:

  • Die DLL, die Sie laden, hat alle ihre Abhängigkeiten erfüllt. Mit anderen Worten, wenn diese DLL von anderen DLLs abhängt, stellen Sie sicher, dass diese DLLs auch gefunden werden können.

  • Wenn die DLL, die geladen wird, ein Manifest verwendet, um eine bestimmte DLL anzugeben, stellen Sie sicher, dass sich DLL (der im Manifest angegebenen Version) auch auf der Maschine (oder im GAC, falls erforderlich) befindet und gefunden werden kann

  • Überprüfen Sie, ob alle DLL-Funktionen, auf die in Ihrem Java-Code verwiesen wird, korrekt definiert und exportiert werden und exportieren Sie die gleichen Datentypen wie die, die Ihr Java-Code erwartet. Dies wird nicht das Laden der DLL stoppen, aber es kann die nächste Stufe durcheinander bringen - Link-Adressen aufzulösen oder Funktionen zu machen, die funktionieren sollten, scheitern auf unerwartete Weise.

Es gibt viel Spaß damit - viele kleine Dinge, um dich zu stolpern. Ich musste mich vor ein paar Jahren mit einem Text-zu-Sprache-Paket (in C & amp; C ++ in einer DLL) herumschlagen und mit verschiedenen Versionen von Java mit alten und neuen JNI-Stilen arbeiten. Was für ein Durcheinander!

    
Stephen Kellett 11.03.2010 19:26
quelle
1

Ich habe dieses Problem nicht selbst gesehen, aber von der Fehlermeldung klingt es wie eine Abhängigkeit, die von der DLL benötigt wird, ist entweder fehlende oder falsche Version.

Dieses Tool könnte helfen: Ссылка

    
fish 09.04.2010 11:02
quelle
0

Für mich funktionierte das Hinzufügen des DLL-Pfads zu den VM-Optionen in meiner IDE.

    
being_felicity 25.10.2017 12:55
quelle
-1

Überprüfen Sie, ob "java.library.path" den Ordner enthält, der die DLL-Datei enthält.
Auf Windows-Rechner ist es mit PATH verwandt.
Ссылка

    
Padmarag 10.03.2010 05:30
quelle