Problème pour utiliser une dll avec Eclipse

TreCool0 Messages postés 16 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 15 avril 2009 - 8 avril 2009 à 15:09
TreCool0 Messages postés 16 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 15 avril 2009 - 10 avril 2009 à 09:01
Bonjour à tous,

J'ai écrit une dll native avec Visual Studio, et j'ai crée un .jar utilisant cette dll, avec l'aide de la JNA. Je souhaite à présent, sur un autre ordinateur et sous Eclipse, implémenter un programme utilisant cette dll et ce .jar. Malheureusement, lorsque j'appelle une fonction du .jar, je reçois l'erreur suivante :

java.lang.UnsatisfiedLinkError: Unable to load library 'MaDLL': The specified module could not be found.

J'ai pourtant bien modifié java.lang.path de sorte à ce que le dossier contenant ma dll soit bien pointé.

J'ai lu sur d'autres forums que cela pouvait être dû au fait que ma dll fait appel à d'autre librairies que Eclipse ne réussit pas à trouver. Pourtant, ces librairies sont bien installée. Que puis-je faire pour que Eclipse trouve ces autres librairies? J'ai essayé de modifier java.lang.path de sorte à ce qu'elle prenne également le chemin de ces librairies en compte, mais cela n'a rien changé.

Merci d'avance!!

5 réponses

TreCool0 Messages postés 16 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 15 avril 2009
8 avril 2009 à 16:30
Bon, alors, on vient de remarquer que le code marche (c'est-à-dire que Java trouve la dll) lorsque Visual Express est installé (et avec lui, je suppose aussi le FrameWork .NET) -_-'

Quelqu'un peut-il m'expliquer? Est-il vraiment nécessaire d'avoir .NET installé pour que Java puisse se servir d'une dll écrite en C/C++?

Merci d'avance!
0
Utilisateur anonyme
9 avril 2009 à 10:46
Bonjour

Ta DLL dépend peut-être d'une DLL qui fait partie du framework .NET. Utilise DependencyWalker pour savoir quelles DLL sont nécessaires et mets-les dans Eclipse pour qu'il les trouve. Une méthode un peu sale est de mettre directement la DLL dans le répertoire jre/bin sous Windows.

0
TreCool0 Messages postés 16 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 15 avril 2009
9 avril 2009 à 13:26
Ok! Merci pour le truc!

J'ai utilisé DependancyWalker, et il semblerati que ma dll utilise un bon paquet d'autres DLL... Évidemment, je n'ai pas une idée très exacte de celles qui ont été installées avec le framework .NET, et qui sotn donc celles que je dois mettre ds Eclipse!

Du coup, je suis toujours un peu bloquée...
0
Utilisateur anonyme
10 avril 2009 à 06:41
Tu vas devoir mettre toutes celles que t'indiquent DependencyWalker :s

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
TreCool0 Messages postés 16 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 15 avril 2009
10 avril 2009 à 09:01
Ok! >_<
À ce compte-là, je pense que la meilleure solution pour moi est de trouver une alternative à la dll!

Mais merci de m'avoir aidée!
0
Rejoignez-nous