TreCool0
Messages postés16Date d'inscriptionmardi 17 mars 2009StatutMembreDernière intervention15 avril 2009
-
8 avril 2009 à 15:09
TreCool0
Messages postés16Date d'inscriptionmardi 17 mars 2009StatutMembreDernière intervention15 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é.
TreCool0
Messages postés16Date d'inscriptionmardi 17 mars 2009StatutMembreDernière intervention15 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++?
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.
TreCool0
Messages postés16Date d'inscriptionmardi 17 mars 2009StatutMembreDernière intervention15 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!