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

C Discussion :

probleme pour le JNI


Sujet :

C

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 226
    Par défaut probleme pour le JNI
    bonjour j'ai des souci de compilation avec cette ligne
    cela est du C pour est transmis au java

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    [JNIEXPORT jboolean JNICALL Java_Jni2_verif (JNIEnv* env,jobject j,jstring login,jstring pass)
    {
    const char* id;
    jboolean vf;
    id=(*env)->GetStringUTFChars(env,login,&vf);
    }
    voila l'erreur
    \log.c base operand of `->' has non-pointer type `JNIEnv_'

    SI quelqu'un peut m'aider merci d'avance

  2. #2
    Membre émérite Avatar de stephl
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 643
    Par défaut
    Peut-être cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    id=env->GetStringUTFChars(env,login,&vf);

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Par défaut
    La syntaxe est correcte.
    Tu as bien inclus jni.h et tu utilises bien un compilateur C ? La syntaxe est différente en C++.
    Pourquoi un [ avant JNIEXPORT ?

  4. #4
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par darkspoilt Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    [JNIEXPORT jboolean JNICALL Java_Jni2_verif (JNIEnv* env,jobject j,jstring login,jstring pass)
    {
    const char* id;
    jboolean vf;
    id=(*env)->GetStringUTFChars(env,login,&vf);
    }
    voila l'erreur
    \log.c base operand of `->' has non-pointer type `JNIEnv_'
    Ceci ne fait pas ce que tu crois. C'est soit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    id=(*env).GetStringUTFChars(env,login,&vf);
    soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    id=env->GetStringUTFChars(env,login,&vf);

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Par défaut
    La syntaxe JNI est parfaitement correcte. C'est celle qu'on trouve dans tous les exemples C/JNI.

    Extrait de <jni.h> pour comprendre
    struct JNIEnv_;

    #ifdef __cplusplus
    typedef JNIEnv_ JNIEnv;
    #else
    typedef const struct JNINativeInterface_ *JNIEnv;
    #endif
    C'est pour cela qu'il est important de savoir si tu compiles réellement en C. La syntaxe change alors.

    Si tu es en C++ (et dans ce cas tu n'as rien à faire ici), il te faudra alors écrire (à adapter pour les noms des variables)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    const char* msg=env->GetStringUTFChars(jMsg,0);

Discussions similaires

  1. [debutant] Probleme pour dessiner un simple cube
    Par scorpiwolf dans le forum DirectX
    Réponses: 6
    Dernier message: 02/07/2003, 20h29
  2. [LG]Divers problémes pour un programme.
    Par Horus TCT dans le forum Langage
    Réponses: 14
    Dernier message: 24/05/2003, 23h04
  3. Probleme pour les insertion au format etranger
    Par Sandrine75 dans le forum XMLRAD
    Réponses: 5
    Dernier message: 19/03/2003, 10h55
  4. [Kylix] probleme pour lancer le shell
    Par miky dans le forum EDI
    Réponses: 5
    Dernier message: 13/08/2002, 09h39
  5. Réponses: 2
    Dernier message: 30/05/2002, 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