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.
Ich hatte genau das gleiche Problem mit dem Laden einer DLL, ich habe es auf diese Weise gelöst:
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:
Laden Sie die Bibliothek:
System.loadLibrary ("libraryWithoutDLLExtension");
Es hat bei mir funktioniert, probiere es aus und sag mir, ob es für dich funktioniert.
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:
Ссылка
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.