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

MFC Discussion :

Pb d'includes ...


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair�

    Profil pro
    D�veloppeur informatique
    Inscrit en
    D�cembre 2003
    Messages
    286
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 286
    Par d�faut Pb d'includes ...
    Bonjour

    J'ai un probl�me d'include qui me donne ce genre d'erreur :
    FicheDlg.obj : error LNK2005: "unsigned long TURQUOISECOLOR" (?TURQUOISECOLOR@@3KA) already defined in fich2.obj
    FicheDlg.obj : error LNK2005: "unsigned long SKYBLUECOLOR" (?SKYBLUECOLOR@@3KA) already defined in fich2.obj
    ...
    J'ai donc un fichier Constantes.h qui contient en gros :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #ifndef _CONSTDEF
    #define _CONSTDEF
     
    CBrush SKYBLUEBRUSH;
    CBrush TURQUOISEBRUSH;
     
    COLORREF SKYBLUECOLOR=RGB(173,216,230);
    COLORREF TURQUOISECOLOR=RGB(0,255,255);
     
    #endif
    J'ai ensuite mes fichiers cpp qui ont un include vers Constantes.h

    Je ne comprends pas l'erreur Si j'ai bien compris, #ifndef devrait m'�viter ce genre de pb, non ?

    merci

  2. #2
    Expert confirm�

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par d�faut
    Non, car tu d�finis des variables dans un .h, au lieu de simplement les d�clarer. Donc chaque cpp qui utilise ton .h va d�finir TURQUOISECOLOR etc... et donc on a des d�finitions multiples.
    Tu peux utiliser extern, ou une fonction:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    // .h
    #ifndef _CONSTDEF 
    #define _CONSTDEF 
     
    // déclaration SANS définir
    extern CBrush SKYBLUEBRUSH; 
     
    CBrush & GetTURQUOISEBRUSH();
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    //.cpp
     
    // déclaration ET définition
    CBrush SKYBLUEBRUSH; 
     
    CBrush & GetTURQUOISEBRUSH()
    {
        static CBrush TURQUOISEBRUSH;
        return TURQUOISEBRUSH;
    }
    idem pour les COLORREF. Mais dans leur cas tu peux rester dans le .h en utilisant une macro:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    #define SKYBLUECOLOR RGB(173,216,230)
    #define TURQUOISECOLOR RGB(0,255,255)

  3. #3
    Membre �clair�

    Profil pro
    D�veloppeur informatique
    Inscrit en
    D�cembre 2003
    Messages
    286
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 286
    Par d�faut
    ok merci pour la r�ponse

    Enfin j'aurais pens� que le pr�processeur ne passait pas dans la condition ... mais apparemment il l'�value quand m�me ...

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [D�butant][Application web] : web.xml + includes jsp
    Par silver_dragoon dans le forum Servlets/JSP
    R�ponses: 3
    Dernier message: 12/02/2004, 20h46
  2. Probl�me d'include sous Dev-c++ 4.9.8.0
    Par Argonz dans le forum Dev-C++
    R�ponses: 16
    Dernier message: 20/11/2003, 17h36
  3. include
    Par ronald dans le forum ASP
    R�ponses: 11
    Dernier message: 06/11/2003, 14h30
  4. INCLUDE non ex�cut�
    Par Sadneth dans le forum ASP
    R�ponses: 3
    Dernier message: 07/09/2003, 00h44
  5. #include "math.h" et #include <math.h>
    Par pounka dans le forum C
    R�ponses: 4
    Dernier message: 01/05/2003, 21h06

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