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

Visual C++ Discussion :

Probl�me changement de version de VS [FAQ]


Sujet :

Visual C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    42
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 42
    Par d�faut Probl�me changement de version de VS
    Bonjour,

    d�veloppant jusqu'� pr�sent sous Visual C++ 6.0, j'ai du passer � Visual Studio 2005 pas plus tard qu'aujourd'hui.

    J'ai donc repris mon projet, qui fonctionnait sous VC++ 6, et l'ai "migr�" vers Visual Studio 2005, mais l�, probl�me :

    J'utilise le parseur XML xerces-c ; j'ai mis les bons includes et copi� les dll dans le dossier du projet. A la premi�re compilation, j'ai, sur la ligne

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    DOMDocument *doc = parser->getDocument();
    l'erreur suivante :

    D:\...\... truc.cpp(222) : error C2872: 'DOMDocument' : ambiguous symbol
    could be 'c:\program files\microsoft visual studio 8\vc\platformsdk\include\msxml.h(161) : DOMDocument'
    or 'z:\...\xerces-c\2.7.0\include\xercesc\dom\domdocument.hpp(63) : xercesc_2_7:OMDocument'
    Hop, je change donc ladite ligne en

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    xercesc_2_7::DOMDocument *doc = parser->getDocument();
    Mais l�, je me retrouve avec une flamb�e (31 au total) d'erreurs :

    nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) already defined in LIBCMTD.lib(new.obj)
    nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) already defined in LIBCMTD.lib(dbgdel.obj)
    nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new[](unsigned int)" (??_U@YAPAXI@Z) already defined in libcpmtd.lib(newaop.obj)
    nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete[](void *)" (??_V@YAXPAX@Z) already defined in LIBCMTD.lib(delete2.obj)
    EPLlicense.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static wchar_t * __cdecl xercesc_2_7::XMLString::transcode(char const * const)" (__imp_?transcode@XMLString@xercesc_2_7@@SAPA_WQBD@Z) referenced in function __catch$?parseXMLlicense@EPLlicense@@QAEHPAD@Z$0
    EPLlicense.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static char * __cdecl xercesc_2_7::XMLString::transcode(wchar_t const * const)" (__imp_?transcode@XMLString@xercesc_2_7@@SAPADQB_W@Z) referenced in function __catch$?parseXMLlicense@EPLlicense@@QAEHPAD@Z$0
    EPLlicense.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: wchar_t const * __thiscall xercesc_2_7::XMLException::getMessage(void)const " (__imp_?getMessage@XMLException@xercesc_2_7@@QBEPB_WXZ) referenced in function __catch$?parseXMLlicense@EPLlicense@@QAEHPAD@Z$0
    EPLlicense.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall xercesc_2_7::AbstractDOMParser::docCharacters(wchar_t const * const,unsigned int,bool)" (?docCharacters@AbstractDOMParser@xercesc_2_7@@UAEXQB_WI_N@Z)
    EPLlicense.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall xercesc_2_7::AbstractDOMParser::docComment(wchar_t const * const)" (?docComment@AbstractDOMParser@xercesc_2_7@@UAEXQB_W@Z)

    et caetera...

    .\Debug/XML.exe : fatal error LNK1120: 31 unresolved externals
    Quelqu'un(e) aurait-il (elle) une id�e ?

    Merci,

    magicpm7

  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,
    d�j� s'assurer que la dll et le programme utilise la m�me option pour l'utilisation de la biblioth�que de runtime (CRT) /MD (dll) ou /MT (multi-thread statique)
    les deux doivent �tre en accord.
    autre point ,attention � l'�ventuel m�lange avec Unicode .
    si le programme est en Unicode la dll doit aussi �tre aussi produite dans ce mode.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    42
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 42
    Par d�faut
    Bonjour,

    merci pour ta r�ponse... mais c'est un peu du Chinois pour moi !
    Peux-tu m'indiquer ce que je dois modifier dans Visual Studio pour faire ce dont tu parles ?

  4. #4
    Membre confirm� Avatar de GETah
    Inscrit en
    D�cembre 2004
    Messages
    77
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2004
    Messages : 77
    Par d�faut
    Bonjour a tous,
    Citation Envoy� par farscape
    salut,
    d�j� s'assurer que la dll et le programme utilise la m�me option pour l'utilisation de la biblioth�que de runtime (CRT) /MD (dll) ou /MT (multi-thread statique)
    les deux doivent �tre en accord.
    autre point ,attention � l'�ventuel m�lange avec Unicode .
    si le programme est en Unicode la dll doit aussi �tre aussi produite dans ce mode.
    J'ai eu le meme probleme moi aussi, j'utilise des dlls fournies par un editeur de logiciel, ces dll sont compilees avec VC++6.0 et puis quand je tente une migration vers VC2005 j'ai des erreurs qui n'ont aucun sens.
    J'ai chercher sur internet sur MSDN, il semble qu'il y'a eu des modifications entre VC6 et VC2005. Dois je donc demander a mon editeur de logiciel des dll compilees avec VC2005?

    Merci,

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    42
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 42
    Par d�faut
    Bonjour,

    tout d'abord GETah, � chaque chose malheur est bon, puisque mon "deuxi�me type d'erreur" n'apparait plus depuis que j'ai chang� non pas les dll, mais les libs utilis�es par mon projet. Ta question m'a permis de trouver ce qui coin�ait � ce niveau, donc je pense que tu peux demander � ton �diteur des dll / libs utilisables avec VS2005.

    Par contre, j'ai toujours mon premier probl�me, concernant nafxcwd.lib et libcmtd.lib :

    nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) already defined in LIBCMTD.lib(new.obj)
    nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) already defined in LIBCMTD.lib(dbgdel.obj)
    nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new[](unsigned int)" (??_U@YAPAXI@Z) already defined in libcpmtd.lib(newaop.obj)
    nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete[](void *)" (??_V@YAXPAX@Z) already defined in LIBCMTD.lib(delete2.obj)
    J'ai trouv� une solution sur l'aide de Microsoft, ici, mais elle n'est pas valable pour VS2005 (�a s'arr�te au 2003). Si vous avez des id�es je suis preneur.

  6. #6
    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,
    oui en biblioth�ques statiques c'est une autre gal�re , tu peux t'en sortir avec le principe �voqu� dans la note MSDN .
    j'ai eu le m�me probl�me sous vc2005 voila ce que j'ai fais:
    dans les propri�t�s du projet , chapitre �diteur de liens.
    rubrique entr�e ,zone : biblioth�que sp�cifique ignor�e ,mettre :
    Nafxcwd.lib;Libcmtd.lib (pour le debug).

    dans la zone : d�pendances suppl�mentaires mettre en dernier � la suite des autres biblioth�ques utilis�es : Nafxcwd.lib;Libcmtd.lib


    en fait on d�cale simplement l'ordre des liens ...

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    42
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 42
    Par d�faut
    Ca marche ! Mais sans les ";" entre les noms des libs... c'est rageant ; j'avais essay� comme �a hier et c'�tait la merde...

    Il fallait aussi changer la dll de xerces-c, mais pas de probl�me pour �a.

    Merci !

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

Discussions similaires

  1. [WD17] Probl�me changement de version ?
    Par Concept-Informatique dans le forum WinDev
    R�ponses: 30
    Dernier message: 23/05/2012, 10h51
  2. [XL-2000] Probl�me liaison apr�s changement de version
    Par RootsInternationnal dans le forum Excel
    R�ponses: 1
    Dernier message: 19/08/2009, 09h04
  3. Probl�me de changement de version
    Par Invit� dans le forum SDL
    R�ponses: 3
    Dernier message: 12/12/2008, 22h42
  4. R�ponses: 6
    Dernier message: 22/06/2007, 15h51
  5. probl�me d'�tat suite � changement de version
    Par moicats dans le forum Access
    R�ponses: 4
    Dernier message: 11/04/2006, 16h16

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