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 :

Erreur de compilation C non comprise


Sujet :

C

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 158
    Points : 89
    Points
    89
    Par défaut Erreur de compilation C non comprise
    Bonjour,

    c'est parti pour une question floue par essence :

    Je suis sur linux SuSe 10.3 avec gcc. j'ai une erreur de compilation d'un source qui compilait avec CC v6 sur AIX. mon erreur est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    expected ‘=’, ‘,’, ‘;’, ‘asmor ‘__attribute__’ before ‘*’ token
    Elle fait référence à la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EXTERN  FILE*                           toto                             (char *tata);
    Je n'arrive pas à trouver ce qui ne va pas, mais en cherchant la meme erreur que moi sur google, j'ai eu plein de réponse, mais jamais de solution apporté à une telle erreur. A chaque fois, ce n'était pas le source (en tout cas à l'endroit indiqué) qui posait problème. Ma question diffuse est donc celle-ci : avez-vous dans quels cas ce message d'erreur peut arriver?
    Ma question subsidiaire étant biensur la résolution de mon problème de compilation...

    Merci d'avance si vous me lisez, et bravo si vous me comprenez!

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Vérifie que EXTERN est bien un #define sur quelque chose (ou sur rien du tout, mais bref, il faut qu'il soit défini).
    Vérifie aussi au-dessus de la fonction, que tu n'aies pas oublié un truc (typiquement, un point-virgule après une déclaration de fonction ou de structure).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 158
    Points : 89
    Points
    89
    Par défaut
    EXTERN est défini soit par "extern", soit par " " (en fonction de macro).
    De plus, j'ai d'autre EXTERN avant qui ne plante pas à la compilation.

    Les lignes autours ressemblent à ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    EXTERN  int                             toto                              (void); /* hello */
    EXTERN  int                             tata                             (char *a,char *b,int c,unsigned short d);       /* monde  */
    EXTERN  FILE*                           titi                             (char *e);
    ???

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par apqmwnqmap Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    EXTERN  FILE* titi (char *e);
    As-tu inclus <stdio.h> pour définir FILE ?
    Pas de Wi-Fi à la maison : CPL

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 158
    Points : 89
    Points
    89
    Par défaut
    Merci, ça a bien un rapport avec stdio.h

    En fait, si je la rajoute en dur dans mon programme, ça passe ce point de compilation. Mais tout ça compile sur UNIX avec un autre compilateur. Et c'est normal car mon programme inclut un fichier qui inclut stdio.h. Donc je dois savoir pourquoi ma compilation sous linux SuSe avec gcc ne retrouve pas stdio.h de la meme manière...

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par apqmwnqmap Voir le message
    Merci, ça a bien un rapport avec stdio.h
    <...> Donc je dois savoir pourquoi ma compilation sous linux SuSe avec gcc ne retrouve pas stdio.h de la meme manière...
    Ca n'a aucune importance. Tu as besoin de <stdio.h> pour FILE, alors tu l'inclus. point. Problème réglé.
    Pas de Wi-Fi à la maison : CPL

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

Discussions similaires

  1. erreur de compilation variable non defini
    Par nabelou1 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 14/01/2009, 16h43
  2. [Erreur à la compil] Classe non déclarée ?
    Par ipingu dans le forum C++
    Réponses: 9
    Dernier message: 23/03/2008, 18h27
  3. Réponses: 1
    Dernier message: 22/02/2007, 11h30
  4. erreur de compilation: argument non facultatif
    Par MCarole dans le forum Access
    Réponses: 10
    Dernier message: 21/07/2006, 13h32
  5. Réponses: 12
    Dernier message: 26/08/2005, 10h02

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