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 :

[Modularite][Compilation]Erreur...


Sujet :

C

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2002
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 13
    Points : 11
    Points
    11
    Par défaut [Resolu][Modularite][Compilation]Erreur...
    Salut!

    Ayant un écrit un long programme, j'ai soudain trouvé nécessaire de le couper en modules; mon programme qui fonctionnait bien me pose maintenant des problèmes à la compilation; j'obtiens des messages comme

    /tmp/ccSdhGZP.o: In function `verifVar':
    /tmp/ccSdhGZP.o(.text+0x1e8): multiple definition of `verifVar'
    /tmp/cc9RypKK.o(.text+0xbb8): first defined here

    et ceci pour chacune de mes fonctions (verifVar en est une!)...
    Je n'ai pas pris l'habitude de modulariser mes programmes et là, je ne comprend pas le problème. Si vous avez une idée...

  2. #2
    Membre régulier Avatar de Hypnos
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2002
    Messages : 87
    Points : 108
    Points
    108
    Par défaut
    salut,

    commence déjà par imbriquer tes .h dans des
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #ifndef __XFCT_H__
    #define __XFCT_H__
    ...
     
    #endif
    comme ça tes prototypes ne seront appelés qu'une seule fois même s'ils sont déclarés en plusieurs endroits.

    Essaye déjà comme ça, tu devrais avoir moins d'erreurs.

  3. #3
    Membre averti

    Inscrit en
    Juin 2002
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 97
    Points : 307
    Points
    307
    Par défaut
    Les headers ne doivent pas contenir de définiton de fonction ou de variables globales.

    Ce dont parle Hypnos est de protéger un header "xfct.h" avec une macro pour que l'inclure deux fois de suite ne génère pas d'erreur.
    Cela arrive par des inclusions en cascade: A.h inclus B.h qui inclus C.h qui inclus... A.h.

    Notes sur les underscores: Les noms commençant par _ ou contenant __ sont réservés au compilateur.

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2002
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Je vous remercie
    ça marche bien maintenant!

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

Discussions similaires

  1. [Compiler] Erreur avec un standalone
    Par pmaurick dans le forum MATLAB
    Réponses: 12
    Dernier message: 26/06/2007, 13h32
  2. [Compilation] Erreur sur mysql.h et mysql_com.h
    Par Darkroro dans le forum C++
    Réponses: 1
    Dernier message: 27/03/2007, 09h42
  3. Probleme de compilation,erreur avec SAXParser
    Par makohsarah dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 07/01/2007, 14h35
  4. [Servlet][Compilation] Erreur de compil dans code servlet
    Par gandalf_le_blanc dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 13/05/2004, 10h17
  5. [VB.NET] Compilation : erreur de copie de la dll
    Par necro dans le forum ASP.NET
    Réponses: 7
    Dernier message: 04/02/2004, 13h16

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