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 :

JNI Problème de débutant ?


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Nom
    Inscrit en
    Juin 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Nom

    Informations forums :
    Inscription : Juin 2006
    Messages : 90
    Par défaut JNI Problème de débutant ?
    Bonjour

    J'ai un repertoire dans le quels j'ai le fichier java suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public class Coucou {
     private native void affiche();
     
        public static void main(String args[]) {
           new Coucou().affiche();
        }
     
        static {
            System.loadLibrary("coucou"); }
        }
    que je compile via javacc.

    Ensuite, je genere dans le même repertoire , un fichier coucou.h via javah.

    j'implemente comme suit ,coucou.c à partir de coucou.h

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    /* coucou.C */
     
    #include <jni.h>
    #include "coucou.h"
    #include <iostream>
    using namespace std;
     
     
     
    JNIEXPORT void JNICALL Java_Coucou_affiche (JNIEnv *, jobject) {
       cout << "Depuis code C++ \n   ... j'affiche ...\n   COUCOU";
    }
    je compile via g++ -I.... -> j'obtiens un coucou.o
    j'utilise la commande g++ -shared ... -> j'obtiens un coucou.so

    Super!

    Sauf que quand je lance 'java Coucou', il me sort une erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    xception in thread "main" java.lang.UnsatisfiedLinkError: no coucou in java.library.path
    	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1709)
    	at java.lang.Runtime.loadLibrary0(Runtime.java:823)
    	at java.lang.System.loadLibrary(System.java:1028)
    	at Coucou.<clinit>(Coucou.java:12)
    Could not find the main class: Coucou.  Program will exit.
    J'ai bien essayé de mettre les chemins dans LD_LIBRARY_PATH, etcetc, mais rien ne semble fonctionner...
    Notez bien que les fichier java, class, o, h, c, so sont tous dans le même repertoire.

    Que faire ?

  2. #2
    Membre confirmé
    Homme Profil pro
    Nom
    Inscrit en
    Juin 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Nom

    Informations forums :
    Inscription : Juin 2006
    Messages : 90
    Par défaut
    Il aura fallu que je mette le chemin de mon fichier so en dur pour que ca marche ....

  3. #3
    Membre Expert

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Par défaut
    Salut,

    Avec g++ -shared fait plutot un libcoucou.so et loadLibrary("coucou") ca marchera

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de débutant dans une requête
    Par decour dans le forum Access
    Réponses: 7
    Dernier message: 14/10/2005, 14h17
  2. [C#][service windows] problème de débutant avec 1 timer
    Par Nycos62 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 14/10/2005, 11h22
  3. Réponses: 3
    Dernier message: 24/09/2005, 09h34
  4. [DB2] problèmes de débutant
    Par rémi_tounul dans le forum DB2
    Réponses: 4
    Dernier message: 21/04/2005, 17h08
  5. [JNI]problème option -Djava.library.path
    Par sylviiie dans le forum ANT
    Réponses: 2
    Dernier message: 18/05/2004, 08h54

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