JNA java.lang.UnsatisfiedLinkError et Le module spécifié est introuvable
Je suis en train de constituer un pot qui me permettra de commandes d'appel uniquement disponible pour les autochtones (le bocal utilise des autochtones plutôt puis le programme). Maintenant, j'ai rencontré un problème, à chaque fois que je charge la DLL. Voici le message d'erreur:
Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'myDLL.dll': The specified module could not be found.
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:194)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:283)
at com.sun.jna.Library$Handler.<init>(Library.java:142)
at com.sun.jna.Native.loadLibrary(Native.java:368)
at com.sun.jna.Native.loadLibrary(Native.java:353)
at src.NativeBridgeJar.<clinit>(NativeBridgeJar.java:6)
at src.Main.main(Main.java:6)
Je ne suis pas pourquoi ce que la cause de ce qui serait une erreur. J'ai fait en sorte, je mis la bibliothèque native chemin d'accès au dossier avec les indigènes. Quelqu'un aurait-il une idée? Merci à l'avance!
OriginalL'auteur user2306911 | 2013-04-24
Vous devez vous connecter pour publier un commentaire.
A) lorsque vous appelez
Native.loadLibrary()
, vous pouvez fournir un nom abrégé ("madll"), un nom de fichier ("myDll.dll"), ou le chemin d'accès absolu de la bibliothèque partagée ("c:/users/me/myDll.dll").B) Si vous ne fournissez pas un chemin d'accès absolu à la bibliothèque, vous pouvez lui dire où charger la DLL en spécifiant
jna.library.path
, ou de la rendre disponible surjava.library.path
(il y a d'autres options décrites dans leNativeLibrary
javadoc).OriginalL'auteur technomage
Vous devriez voir la JVM votre dll emplacement. Il peut être fait avec
-Djava.library.path=pathToDll
VM argumentOriginalL'auteur Evgeniy Dorofeev
J'ai eu le même problème jusqu'à ce que j'ai mis mon .fichier dll dans C:\Windows\System32 depuis qu'il a été d'une DLL C++ et avait dépendances sur Kernel32.dll et MSVCR100.dll dans ce dossier. Qui semblait fonctionner.
OriginalL'auteur Fuzzy Analysis
En plus de définir le chemin de la dll à l'aide de
-Djava.library.path=pathToDll
ouSystem.setProperty("jna.library.path","pathToDll");
assurez-vous que le spécifique Visual C++ xxxx Redistributable Package est installé dans votre Windows(bcs le natif de windows avec les bibliothèques ont été construites avec spécifique VisualStudio xxxx)OriginalL'auteur nav3916872