Fehlerbehebung bei UnsatisfiedLinkError in JNI-Projekten
Wenn in einem JNI-Projekt das Problem „UnsatisfiedLinkError: Abhängige Bibliotheken können nicht gefunden werden“ auftritt, ist dies von entscheidender Bedeutung um die problematische Beziehung zwischen der nativen Bibliothek und ihren abhängigen Bibliotheken anzugehen Bibliotheken.
In Ihrem Fall hängt mylib.dll von libsndfile-1.dll ab, die wiederum MPR.DLL und SHLWAPI.DLL erfordert. Die Warnungen von Dependency Walker zu nicht aufgelösten Importen für MPR.DLL und SHLWAPI.DLL können wie angegeben ignoriert werden.
Um dieses Problem zu beheben, stellen Sie sicher, dass alle abhängigen DLLs im selben Verzeichnis wie mylib.dll oder vorhanden und zugänglich sind entlang der Windows-Umgebungsvariablen PATH.
Darüber hinaus ist die Systemeigenschaft java.library.path nicht direkt für die Lokalisierung verantwortlich die DLLs. Wenn unter Windows java.library.path nicht verwendet wird, muss sich die DLL im aktuellen Arbeitsverzeichnis oder in einem PATH-Verzeichnis befinden.
Zur Überprüfung führen Sie „java -XshowSettings:properties -version“ aus und untersuchen die java.library.path-Eigenschaft für den Suchpfad der gemeinsam genutzten Bibliothek.
Denken Sie daran, dass die abhängigen Bibliotheken vorhanden und zugänglich sein müssen; Ihre relativen Standorte zur nativen Bibliothek sollten den genannten Richtlinien entsprechen.
Das obige ist der detaillierte Inhalt vonWie behebe ich „UnsatisfiedLinkError: Abhängige Bibliotheken können nicht gefunden werden' in JNI-Projekten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!