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