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 :

erreur au linking


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4
    Par défaut erreur au linking
    Bonjour,

    J'ai créé une variable globale dans un fichier .h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #ifndef __NbPasses_H
    #define __NbPasses_H
     
    extern int *******nbCblkEnc;
     
    #endif
    C'est un projet en C.
    Je l'initialise dans une classe qui ne porte pas le même nom que le .h
    Je l'utilise aussi dans une autre classe (puisque globale)

    Je tiens à préciser que ça compile (les 2 classes).
    L'erreur survient lors du linkage (Build)

    Voilà l'erreur produite :

    frames_to_mj2.obj : error LNK2001: unresolved external symbol _nbCblkEnc
    tcd.obj : error LNK2001: unresolved external symbol _nbCblkEnc
    frames_to_mj2___Win32_Debug0/frames_to_mj2.exe : fatal error LNK1120: 1 unresolved externals
    Error executing link.exe.

    Le fichier .h a été inclu dans le projet lors de la création du fichier.
    J'espère que je vous ai donné suffisament d'info sur l'erreur.

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    tu n'as pas declaré une variable globale ,tu as simplement dis qu'elle etait extern ,c'est a dire qu'elle existe ailleur .
    ce qui ne semble pas etre le cas vu l'erreur au link.
    il faut enlever l'extern.
    une declaration de variable globale se passe de la maniere suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    //"myHeader.h"
    #ifdef _DECLAREVAR
     
    int *******nbCblkEnc; 
    #else
    extern int *******nbCblkEnc; 
    #endif
    dans un seul des sources il suffit de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    #define _DECLAREVAR 1
    #include "myHeader.h"
    dans les autres uniquement rajouter l'include du header.
    c'est tout .

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

Discussions similaires

  1. erreur de link
    Par meli0207 dans le forum MFC
    Réponses: 6
    Dernier message: 04/05/2007, 10h17
  2. template et erreur de link
    Par Willand dans le forum Langage
    Réponses: 12
    Dernier message: 05/12/2006, 21h19
  3. erreur de link(age) g++
    Par corwin dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 05/05/2004, 11h33
  4. [wxWindows] Erreur de link pour ODBC
    Par ovh dans le forum wxWidgets
    Réponses: 3
    Dernier message: 28/01/2004, 15h38
  5. DirectDrawCreate erreur de link
    Par Ing_Ben dans le forum DirectX
    Réponses: 1
    Dernier message: 01/12/2002, 18h46

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