Dépannage d'UnsatisfiedLinkError dans les projets JNI
Lorsque vous rencontrez le problème « UnsatisfiedLinkError : impossible de trouver les bibliothèques dépendantes » dans un projet JNI, il est crucial pour résoudre la relation problématique entre la bibliothèque native et ses bibliothèques dépendantes.
Dans votre cas, mylib.dll dépend de libsndfile-1.dll, qui à son tour nécessite MPR.DLL et SHLWAPI.DLL. Les avertissements de Dependency Walker concernant les importations non résolues pour MPR.DLL et SHLWAPI.DLL peuvent être ignorés, comme indiqué.
Pour résoudre ce problème, assurez-vous que toutes les DLL dépendantes sont présentes et accessibles dans le même répertoire que mylib.dll ou le long de la variable d'environnement Windows PATH.
De plus, la propriété système java.library.path n'est pas directement responsable de la localisation des DLL. Sous Windows, si java.library.path n'est pas utilisé, la DLL doit se trouver dans le répertoire de travail actuel ou dans un répertoire PATH.
Pour vérifier, exécutez "java -XshowSettings:properties -version" et examinez le Propriété java.library.path pour le chemin de recherche de la bibliothèque partagée.
N'oubliez pas que les bibliothèques dépendantes doivent être présentes et accessibles ; leurs emplacements relatifs par rapport à la bibliothèque native doivent respecter les directives mentionnées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!