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 :

[C++] problème au link


Sujet :

MFC

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 76
    Par défaut [C++] problème au link
    Bonjour à tous,

    je réalise pour le moment un puissance 4 en opengl, j'ai déja toute la logique dans un fichier "Logical.cpp" et je commence les graphiques dans "Graphical.cpp".

    Toutes les variables/fonctions/mutex se trouvent dans un fichiers defs.h 'allié' à un fichier defs.cpp. (Pour les fonction d'utilisation des mutex par exemple)

    afin d'atteindre les variables et fonction, je fais un include du fichier defs.h dans logical et graphical mais j'ai des problème au link, il me dit que les variables sont déjà définie:
    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    lesson6.obj : error LNK2005: "struct pos_in_float posf" (?
    posf@@3Upos_in_float@@A) already defined in Defs.obj
    pourtant, j'ai bien veillé à 'entouré' defs.h des habituels
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    #ifndef  __DEFS__
    #define __DEFS__
       //tout mon code
    #endif[/FONT]
    donc:

    defs.cpp, logical.cpp et graphical.cpp #include tous les trois defs.h

    Je me demande ce que j'ai oublié ou ce que je n'ai pas fait comme il faut...?

    Quelqu'un saurait il m'aider??

    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
    Donne la ligne de defs.h où tu déclares (et défini aussi, d'où l'erreur) posf.
    En bref, faut la déplacer dans le cpp, et mettre un extern dans le .h.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 76
    Par défaut
    Citation Envoyé par Aurelien.Regat-Barrel
    Donne la ligne de defs.h où tu déclares (et défini aussi, d'où l'erreur) posf.
    En bref, faut la déplacer dans le cpp, et mettre un extern dans le .h.

    j'ai modifié avec le extern et effectivement ça fonctionne maintenant

    en fait la macro #ifndef agissait bien mais comme celà se passe au niveau de la compilation et pas du link ben il est normal qu'il me détecte une erreur..
    avec le extern ca roule

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

Discussions similaires

  1. [DLL/classe template] problème de link
    Par Bob.Killer dans le forum C++
    Réponses: 7
    Dernier message: 31/08/2005, 18h56
  2. Problème de link...
    Par Royd938 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 30/09/2004, 17h33
  3. C/asm : problème pour link
    Par SteelBox dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 06/04/2004, 23h03
  4. Problème de LINK Bizarre !!
    Par Jasmine dans le forum MFC
    Réponses: 24
    Dernier message: 19/03/2004, 15h58
  5. Problème de link avec Borland C++ 5.5
    Par gelam dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 24/11/2003, 16h45

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