Bonjour à tous,
Ayant résolu à l'aide de Riokmij mon précédent problème, je me retourne vers vous concernant un souci de jna !
Je dois récupérer des informations sur un périphérique portable. J'utilise une librairie proposée par le concord consortium, qui me permet d'exploiter ce matériel en langage java. Le programme s'exécute sans erreur à l'aide de la librairie, sauf que mon périphérique n'est pas détecté. Ayant testé pas mal de solutions (y compris celles propriétaires), je me suis apercu que mon matériel n'était pas détecté à cause d'un problème de dll (ils stockent la dll dans leur jar). J'ai tenté de modifier le jar (en regénérant des clés SHA1 comme ils le faisaient) sans succès. J'en suis donc arrivé à supprimer le jar et importer les classes java à la main. Je peux alors importer mon jar correctement, sauf que eclipse me renvoit une erreur lorsque je tente de charger ma dll :
Code :
- Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'C:\EclipsePortable\Data\workspace\TestLabQuest\bin\org\concord\sensor\labquest\jna\win32_x86\NGIO_lib.dll': Le module spécifié est introuvable.
- at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:164)
- at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:237)
- at com.sun.jna.Library$Handler.<init>(Library.java:140)
- at com.sun.jna.Native.loadLibrary(Native.java:374)
- at MyLabQuestLibrary.init(MyLabQuestLibrary.java:68)
- at MyLabQuestLibrary.<init>(MyLabQuestLibrary.java:34)
- at TestLabQuest.main(TestLabQuest.java:8)
|
Le souci vient de cette ligne :
Code :
- ngio = (NGIOLibrary) Native.loadLibrary(nativeLibPath, NGIOLibrary.class, options);
|
nativeLibPath me renvoit "C:\EclipsePortable\Data\workspace\TestLabQuest\bin\org\concord\sensor\labquest\jna\win32_x86\NGIO_lib.dll", et options contient, entre autre, une redéfinition d'un FunctionMapper.
J'ai essayé d'ajouter le répertoire contenant ma dll au java.library.path, sans succès. J'ai aussi essayé de copier la dll dans le répertoire de java, toujours le même problème.
Quelqu'un parmi vous aurait-il déjà rencontré ce problème ?
Merci d'avance !
Message édité par xoupix le 19-03-2010 à 14:52:38