Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3052 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  JNI Can't find dependent libraries

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

JNI Can't find dependent libraries

n°880569
patachou
Posté le 23-10-2004 à 01:30:35  profilanswer
 

Bonjour,
Je suis en train d'utiliser JNI et j'ai un probleme de dépendance que je n'arrive pas a résoudre. La dll que j'ai crée utilse jawt.h. J'ai reussi à la compiler, mais quand j'utilise la classe java qui se sert de cette librairie, j'ai le message suivant :

this application has failed to start because jawt.dll was not found...


J'ai essayé de mettre jawt.dll dans le path (

-Djava.library.path="D:\j2sdk1.4.1_02\jre\bin";"F:\Program Files\eclipse 3.1M1\workspace\CFileClignotement\Debug"

) comme j'avais fait pour qu'il trouve la dll (JNI) de base, mais j'ai toujours la même erreur...
Je sais pas trop comment faire pour indiqué ou elle se trouve, j'ai essayé d'ajouter le repertoire dans le classpath aussi, mais toujours la même erreur...

mood
Publicité
Posté le 23-10-2004 à 01:30:35  profilanswer
 

n°887337
patachou
Posté le 31-10-2004 à 20:09:52  profilanswer
 

Ben en fait j'utilisé le java du sdk, alors qu'avec le java du JRE tout marche :)

n°1263772
marsf
Posté le 10-12-2005 à 22:00:47  profilanswer
 

Bon ce thread a plus d'un an mais comme je suis tombé dessus parce que j'avais un un problème dans le genre, je vais expliquer comment je m'en suis sorti :  
 
Le message n'est pas correct : "jawt.dll n'est pas trouvée" est illogique, car la JRE, à priori, comporte bien cette DLL (!). Mais en réalité c'est le link vers la lib native jawt.dll qui manque, autrement dit, on a fait un appel à une méthode native de jawt.dll alors qu'elle n'a encore jamais été chargée par la JVM.
 
Comment c'est possible ? Le plus naturellement du monde : jawt.dll n'est chargée par une JVM du SDK qu'en cas de besoin. D'habitude on fait des appels à jawt à travers des Frame, Dialog, Window, qui appellent des classes qui chargent pour vous jawt.dll à la première occasion. C'est transparent. Sauf que là je parierais que patachou a essayé de faire des bidouilles GUI un peu exotiques et appelle ses fonctions avant d'avoir appelé quoi que ce soit d'awt.
 
Solution : simplement faire un System.loadLibrary("jawt" ); juste avant le System.loadLibrary("patachou" );
 
Le fait que ça marche dans la JRE en revanche, c'est un coup de chance dû à une différence de comportement entre JDK et JRE.


Message édité par marsf le 10-12-2005 à 22:03:33

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  JNI Can't find dependent libraries

 

Sujets relatifs
Edition de lien JNIFonctions find?
[JAVA] JNI et JDK 1.4: Appel de méthodes Java depuis une fonction Cfind sous matlab
can't register dataform.ocxPHP-Win msg d'erreur : Unable to find the wrapper "https"
PHP MyAdmin - insertion de fichier texte => Errcode 2:Can't get statProblème avec la méthode Find
[Scripts Shell] Commandes find & echo - probleme d'affichage[JAVA : JNI] Pb a l'execution avec library
Plus de sujets relatifs à : JNI Can't find dependent libraries


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)