pb jni windows

pb jni windows - Java - Programmation

Marsh Posté le 11-02-2004 à 20:23:05    

Bonjour g un probleme avec la compillation d une DLL sous windows.
je compile mon programe en java par la console ,je cree le fichier .h , je code mon fichier .c et lorsque je cree la DLL , pas de pb.
mais lorsque j execute le fichier java par la console, une erreur(quui est a priori ke la DLL ne trouve pa la fonction en C++ qui doit afficher le resultat).
j utilise visual c++ comme compilateur c.
quel est la commande pour compiler la DLL puisqu a priori c de la que vien le pb?

Reply

Marsh Posté le 11-02-2004 à 20:23:05   

Reply

Marsh Posté le 11-02-2004 à 22:01:58    

ahah j'ai le meme probleme. alors  
 
http://java.sun.com/docs/books/tut [...] step1.html
 
donc il faut  
 

Code :
  1. cl -Ic:\java\include -Ic:\java\include\win32
  2.       -LD monProgImp.c -maDll.dll


 
je sé pas si tu a fé ca.
Moi mon probleme, c justement la création du DLL. j'arrive pas a la faire. la commande ' cl ' je l'ai pas, et je la trouve pas en free. une idée? t'a fé comment?
 
ps : j'espere que le lien pourra t'aider
 
joubliais, t' chargé la dll?

Code :
  1. static {
  2. System.loadLibrary("maLib" );  // sans le .dll  
  3. }


 
si je raconte nimp, e qui est probable parce que j'ai vrément du mal sur ce point faites moi le savoir sans trop me descendre ;) un peu dindulgence koi ;)


Message édité par meumeul le 11-02-2004 à 22:27:02
Reply

Marsh Posté le 11-02-2004 à 22:33:31    

up

Reply

Marsh Posté le 11-02-2004 à 23:10:27    

nan c bon tu dit pas que de la merde g essayer aussi la methode  -cl mais ca ne marche pas non plus. tous ce ke j ai trouver c un facon de compiler via le gcc de linux mais ca ne fonctionne pas :( .

Reply

Marsh Posté le 11-02-2004 à 23:12:14    

Rohlàlà :

Citation :


On Microsoft Windows, the following command builds a dynamic link library hello.dll using Microsoft Visual C++ 4.0


[:dawa] T'as Visual C++ 4.0 ou supérieur ? Si tu l'as pas, il te faut un autre compilateur.
Perso j'ai pris MinGW et je compile en faisant :

Code :
  1. gcc -ID:\j2sdk1.4.2\include -ID:\j2sdk1.4.2\include\win32 -Wl,--add-stdcall-alias -shared -o monprog.dll monprog.c


où D:\j2sdk1.4.2 est le répertoire d'install de mon JDK et monprog.c mon fichier C.
Comment j'ai fait pour deviner ça ? J'ai cherché un brin sous Google et chu tombé sur http://www.inonit.com/cygwin/jni/helloWorld/c.html
Donc cette méthode marche aussi a priori avec le compilo de Cygwin (non testé par mes soins).
 
EDIT : typos


Message édité par Taiche le 12-02-2004 à 11:22:14

---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 11-02-2004 à 23:41:52    

oui j'ai vu la citation. et je l'ai pas visual c++ ;)
donc j'ai cherché un autre compilateur, j'ai pris le gcc de
dev-cpp et il disé dans leur doc faire un gcc -shared qui aparmeent marche pas sous win mé sous nux. et l'option -I n'étais pas dispo. ma question était donc, je pense, recevable nan taiche ? ;) (j'aurai du mieux cherché...)
 
et la j'avoue, j'ai abandonné, j'en avait marre.
je teste ca demain avec  mingw, je suis out la.
Merci en tout cas.

Reply

Marsh Posté le 12-02-2004 à 10:20:42    

je possede visual c++ 6.0 et je vien d essayer de compiler et .......  CA MARCHE !!!!!!:)  merci de ton aide  

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed