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 :

fatal error LNK1120: 1 externes non résolus


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Avril 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Avril 2008
    Messages : 71
    Par défaut fatal error LNK1120: 1 externes non résolus
    Bonjour, je me retrouve confronter à cette erreur:

    error LNK2001: symbole externe non résolu "int configRaid" (?configRaid@@3HA)
    fatal error LNK1120: 1 externes non résolus

    J'utilise une variable globlale qui recoit une valeur entiere après avoir clické sur un bouton. Mon code est correct mais la variable globale ci-dessus commence à me soualé. Voici la déclaration et l'utilisation de cette variable si ça peut aider.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    extern int configRaid; 
     
    void CStartConfigBagues::OnBnClickedRaid1()
    {
    	configRaid = 0;
    }
     
    void CStartConfigBagues::OnBnClickedRaid11()
    {
    	configRaid = 1;
    }
     
    void CStartConfigBagues::OnBnClickedRaid12()
    {
    	configRaid = 2;	
    }
     
     
    switch(configRaid)
       {
    		case 0:
    			GetDlgItem(IDC_RAID2)->ShowWindow(false);
    			GetDlgItem(IDC_RAID1)->ShowWindow(false);
    			break;
     
    		case 1:
    			GetDlgItem(IDC_RAID2)->ShowWindow(false);
    			GetDlgItem(IDC_RAID1)->ShowWindow(true);
    			break;
     
    		 case 2:
    			GetDlgItem(IDC_RAID2)->ShowWindow(true);
    			GetDlgItem(IDC_RAID1)->ShowWindow(true);
    			break;
       }
    Voila la principale partie de mon code concernant cette variable.
    Si quelqu'un peut m'expliquer ce que j'ai oublié je le remercie. A++

  2. #2
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    Si elle n'est pas déclarée autre part, enlever le extern

  3. #3
    Membre confirmé
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Avril 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Avril 2008
    Messages : 71
    Par défaut
    J'ai fait ce que tu m'a dit mais je me sers de cette variable dans deux fichiers différents et maintenant j'ai l'erreur suivante :

    error C2065: 'configRaid'*: identificateur non déclaré
    error C2050: expression de switch non intégrale

    suis-je un boulet je commence vraiment a me dire que oui.

  4. #4
    Membre chevronné Avatar de stephdim
    Profil pro
    Inscrit en
    Août 2007
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 462
    Par défaut
    tu as bien enlevé seulement le mot-clé extern devant ?

    rassures-moi, le switch se trouve bien à l'intérieur d'une fonction ?

    @+

  5. #5
    Membre confirmé
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Avril 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Avril 2008
    Messages : 71
    Par défaut
    Oui bien sur, boulet mais pas completement incompétent lol.
    Lors de la generation il m'affiche cette erreur.

    error LNK2005: "int configRaid" (?configRaid@@3HA) déjà défini(e) dans AboutDlg.obj

    Faut-il que je supprime le fichier " AboutDlg.obj " et que je le regenere ou mon erreur est tout autre.
    J'ai corrigé l'erreur precedente vive la boulet attitude j'ose pas vous dire.

  6. #6
    Membre chevronné Avatar de stephdim
    Profil pro
    Inscrit en
    Août 2007
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 462
    Par défaut
    c'est que tu utilises déjà cette variable dans le fichier "AboutDlg.cpp"

    donc c'est bien extern qu'il faut devant si tu veux référencer la variable déclarée dans "AboutDlg.cpp"

    si c'est une autre variable indépendante, rajoute le mot-clé static devant.

    @+

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

Discussions similaires

  1. error LNK2019: symbole externe non résolu
    Par bugmenot dans le forum Visual C++
    Réponses: 6
    Dernier message: 24/11/2009, 01h02
  2. error LNK2001:sumbole externe non résolu
    Par mony84 dans le forum Bibliothèque standard
    Réponses: 7
    Dernier message: 27/08/2008, 17h17
  3. Réponses: 4
    Dernier message: 16/07/2007, 09h03
  4. symboles externe non résolus
    Par hpavavar dans le forum Visual C++
    Réponses: 13
    Dernier message: 16/05/2007, 15h24
  5. visual c++: error LNK2019 et fatal error LNK1120
    Par moimoi_1 dans le forum MFC
    Réponses: 2
    Dernier message: 05/11/2005, 07h41

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