IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

de "HelloWorld.c" en "HelloWorld.java" avec JNI


Sujet :

Entrée/Sortie Java

  1. #1
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 12
    Par défaut de "HelloWorld.c" en "HelloWorld.java" avec JNI
    Salut a Tous
    J essaye de pour appeller un code ecrit language C en Java. pour celaj utilise le JNI(Java Native Interface).
    Pour une premier temps je veux deja convertir le "Hello World" ecrit de C en Java. selon ce lien <http://java.sun.com/docs/books/jni/html/start.html>
    mais A l etape 7 lorsque je lance : java HelloWorld
    je recois cette erreur:

    H:\JNI_hello\helloworld\src>java HelloWorld
    Exception in thread "main" java.lang.UnsatisfiedLinkError: H:\JNI_hello\hellowor
    ld\src\HelloWorld.dll: Can't find dependent libraries
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(Unknown Source)
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)
    at HelloWorld.<clinit>(HelloWorld.java:7)
    Could not find the main class: HelloWorld. Program will exit.

    Je tiens à preciser que je travaille dans Windows XP.

    Merci pour votre aide.

  2. #2
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Par défaut
    bonjour,

    As tu bien mis helloWolrd.dll dans le path comme indiqué dans l'etape 7 :
    If you are running on a Windows 95 or Windows NT machine, make sure that HelloWorld.dll is in the current directory, or in a directory that is listed in the PATH environment variable.

    In Java 2 SDK 1.2 release, you can also specify the native library path on the java command line as a system property as follows:

    java -Djava.library.path=. HelloWorld
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 12
    Par défaut
    Salut Alkhan,
    Je m excuse de n avoir pas repondu plutôt.
    j etais un peu malade entre temps.
    Je crois bien l´avoir ajouter dans le path.
    a moins que je l ai mal fait. Peux tu me dire comment devrais je le faire stp.
    Merci pour la bonne comprehension

  4. #4
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Par défaut
    bonjour,

    En fait la dll doit se trouver dans le répertoire courant de ton lanceur ou dans system32.
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 12
    Par défaut
    Salut,
    quand tu parles de dll, c est le "HelloWorl.dll" ou une autre? ou bien le system 32 donc tu parles, c est pas le win32 par hasrad??

  6. #6
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Par défaut
    oui c'est bien HelloWorld.dll
    pour le system32 c'est C:\WINDOWS\system32
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 12
    Par défaut
    Salut,

    En faisant ce que tu m as dit, voici l erreur que je recois


    H:\JNI_hello\helloworld\src>java HelloWorld
    Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\WINDOWS\system32\HelloWorld.dll: Eine DLL-Initialisierungsroutine ist fehlgeschlagen
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(Unknown Source)
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)
    at HelloWorld.<clinit>(HelloWorld.java:7)
    Could not find the main class: HelloWorld. Program will exit.

  8. #8
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Par défaut
    peux tu mettre ton code ?
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 12
    Par défaut
    slt, je tiens deja à m excuser de n avaoir pas reagi depuis, cela est du a un deplacement ces derniers jours.
    Lorske tu me demander de poster le code, de quel code parles tu? du helloworld.java ou autre chose?
    Car jai tout simplement pris l exemple sur le lien envoye plus haut.

    Merci de bien me repondre

Discussions similaires

  1. Quotes dans TFilenameEdit (RXLib)
    Par AnnSo dans le forum Composants VCL
    Réponses: 3
    Dernier message: 23/01/2003, 20h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo