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 de LINK après suppression d'une CList


Sujet :

MFC

  1. #1
    Membre confirmé Avatar de LaDeveloppeuse
    Inscrit en
    Mai 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mai 2007
    Messages : 131
    Par défaut Erreur de LINK après suppression d'une CList
    Salut tous le monde,

    Je développe un logiciel sous visual 6 et dans le passé j'avais créé une boite de dialogue avec une CList. Aujourd'hui j'ai été contraint de la supprimer et voici ce que me raconte le compilo :

    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
     
    --------------------Configuration: xxxxxxxxxx - Win32 Debug--------------------
    Linking...
    LINK : warning LNK4098: defaultlib "LIBCMT" conflicts with use of other libs; use /NODEFAULTLIB:library
    ToolTips.obj : error LNK2001: unresolved external symbol "public: __thiscall CMapPtrToPtr::CMapPtrToPtr(long)" (??0CMapPtrToPtr@@QAE@J@Z)
    ToolTips2.obj : error LNK2001: unresolved external symbol "public: __thiscall CMapPtrToPtr::CMapPtrToPtr(long)" (??0CMapPtrToPtr@@QAE@J@Z)
    BCMenu.obj : error LNK2001: unresolved external symbol "public: long __thiscall CPtrArray::GetUpperBound(void)const " (?GetUpperBound@CPtrArray@@QBEJXZ)
    BCMenu.obj : error LNK2001: unresolved external symbol "public: void __thiscall CPtrArray::RemoveAt(long,long)" (?RemoveAt@CPtrArray@@QAEXJJ@Z)
    BCMenu.obj : error LNK2001: unresolved external symbol "public: long __thiscall CPtrArray::GetSize(void)const " (?GetSize@CPtrArray@@QBEJXZ)
    BCMenu.obj : error LNK2001: unresolved external symbol "public: void * __thiscall CPtrArray::GetAt(long)const " (?GetAt@CPtrArray@@QBEPAXJ@Z)
    BCMenu.obj : error LNK2001: unresolved external symbol "public: long __thiscall CPtrArray::Add(void *)" (?Add@CPtrArray@@QAEJPAX@Z)
    BCMenu.obj : error LNK2001: unresolved external symbol "public: long __thiscall CPtrArray::Append(class CPtrArray const &)" (?Append@CPtrArray@@QAEJABV1@@Z)
    BCMenu.obj : error LNK2001: unresolved external symbol "public: void __thiscall CPtrArray::InsertAt(long,void *,long)" (?InsertAt@CPtrArray@@QAEXJPAXJ@Z)
    BCMenu.obj : error LNK2001: unresolved external symbol "public: void * & __thiscall CPtrArray::operator[](long)" (??ACPtrArray@@QAEAAPAXJ@Z)
    C:\Programmation\BINAIRES\FR\HDD\3DShop_V3dbg_CM.exe : fatal error LNK1120: 9 unresolved externals
    Error executing link.exe.
     
    xxxxxxxxxxxx.exe - 11 error(s), 1 warning(s)
    Alors je sais pas du tout d'ou cela peut venir, autant ça n'a meme aucun rapport...

    Si vous avez des idées je les accepterai volontier ^^ Merci !

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 393
    Par défaut
    Bonjour,
    Cherche dans le sous-forum MFC où poses-y ta question, ils ont plus d'expérience qu'ici.

    Mais on dirait qu'une des raisons est que tu as au moins deux composants (.obj, .lib) compilés avec des options de C Run-Time Library (CRT) différentes. Regarde dans l'onglet C/C++, combobox "code generation" dans les options de tes projets...
    Aussi, on dirait que ton programme n'est pas lié correctement à la bibliothèque MFC.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 461
    Par défaut
    Les classes "CMapPtrToPtr" et "CPtrArray" sont sensées être où (quelle librairie)?

    ToolTips.cpp, ToolTips2.cpp et BCMenu.cpp les utilisent et les fichiers .h définissants ces classes ont bien été trouvés, mais le linker ne trouve pas les fichiers lib contenant leur implémentation.

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 393
    Par défaut
    Citation Envoyé par bacelar Voir le message
    Les classes "CMapPtrToPtr" et "CPtrArray" sont sensées être où (quelle librairie)?
    Ce sont des noms connus de classes MFC, donc je suppose qu'elles viennent de là.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 461
    Par défaut
    Il faut donc vérifier dasn les options du projet si les MFC y sont toujours intégrés.
    click droit sur le projet -> Properties -> Configuration Properties -> General -> (panel à droite) Use of MFC

    Il faut que cela soit "Use MFC in ..." avec le chois qu'il convient en fonction de cette option pour autres librairies MFC utilisées dans ce projet.

  6. #6
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    La seule restriction est :
    Citation Envoyé par MSDN
    These class are not supported in Smart Device projects.
    Mais je ne sais pas si ça clache à la compil ou à l'édition de liens.

Discussions similaires

  1. Réponses: 8
    Dernier message: 14/03/2012, 17h28
  2. Réponses: 6
    Dernier message: 29/04/2009, 13h22
  3. [MySQL] Décrémenter automatiquement un champ de table après suppression d'une occurrence
    Par hicham_alaoui1 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 15/09/2007, 16h51
  4. Réponses: 4
    Dernier message: 24/08/2007, 16h44
  5. [JTable] problème après suppression d'une ligne
    Par fredo3500 dans le forum Composants
    Réponses: 7
    Dernier message: 17/03/2005, 10h01

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