versucht, DLL von Java (JNA) zu verwenden. Bibliotheksausnahme konnte nicht geladen werden

10

Ich habe ein NetBeans-Projekt von Tutorial , das eine Ausnahme verursacht:

Ausnahme im Thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'simpleDLL': Das angegebene Modul wurde nicht gefunden.

Versucht, simpleDLL.dll in Projektbibliotheken zu setzen, Datei im Ordner System32 ohne Erfolg kopiert.

    
Karloss 11.01.2013, 21:07
quelle

3 Antworten

11

Ich hatte genau das gleiche Problem mit dem Laden einer DLL, ich habe es auf diese Weise gelöst:

  • Wie Christian Kuetbach sagte, überprüfen Sie, ob die von Ihnen verwendete simpleDLL mit der Architektur Ihres Prozessors kompatibel ist, eine 32-Bit-DLL funktioniert nicht auf einer 64-Bit-Maschine und auch eine 64-Bit-DLL funktioniert nicht eine 32-Bit-Maschine.
  • Wenn die DLL kompatibel ist, liegt das Problem möglicherweise in Ihrem Java-Bibliothekspfad. Ich habe meine DLL in das Verzeichnis user.dir gestellt und dann diesen Code benutzt:

    Setzen Sie den Java-Bibliothekspfad auf user.dir oder einen anderen gewünschten Pfad:

    %Vor%

    Laden Sie die Bibliothek:

    System.loadLibrary ("libraryWithoutDLLExtension");

Es hat bei mir funktioniert, probiere es aus und sag mir, ob es für dich funktioniert.

    
BackSlash 12.01.2013, 00:01
quelle
5

Bitte überprüfen Sie, ob die SimpleDLL 32 oder 64 Bit ist. Dann überprüfe, ob die JVM auch 32 oder 64 Bit ist. Sie müssen für die gleiche Plattform sein.

Sie können auch einen absoluten Pfad angeben, wenn Sie loadLibrary() in load() ändern: Ссылка

    
Christian Kuetbach 11.01.2013 22:51
quelle
2

Ich konnte nur in 32bit (Xp) laufen.

Platzieren Sie die DLL im Ordner "c: \ Windows \ System32"

  

halloWorldDLL lib = (halloWorldDLL)   Native.loadLibrary ("helloworldDLL", helloWorldDLL.class);

Wenn der Fehler java.lang.UnsatisfiedLinkError: "Bibliothek kann nicht geladen werden" weiterhin vorhanden ist, verwenden Sie Dependency Walker, um die abhängigen DLLs anzuzeigen.

Dependency Walker

    
Maurício 25.09.2014 20:49
quelle

Tags und Links