Pages: 1
Bonjour,
Suite à l'installation de Irrlicht 1.8, je rencontre un problème à la compilation de mon projet avec Microsoft Visual Studio 2010:
5>GuiTest.obj : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/INCREMENTAL:NO' specification
5>IrrGerap.lib(SceneTreeView.obj) : error LNK2005: "public: __thiscall `bool __cdecl irr::core::equalsByUlp(float,float,int)'::`2'::Float_t::Float_t(float)" (??0Float_t@?1??equalsByUlp@core@irr@@YA_NMMH@Z@QAE@M@Z) already defined in IrrGerap.lib(GuiMetaElement.obj)
5>IrrGerap.lib(SceneTreeView.obj) : error LNK2005: "public: bool __thiscall `bool __cdecl irr::core::equalsByUlp(float,float,int)'::`2'::Float_t::sign(void)const " (?sign@Float_t@?1??equalsByUlp@core@irr@@YA_NMMH@Z@QBE_NXZ) already defined in IrrGerap.lib(GuiMetaElement.obj)
5>IrrGerap.lib(SceneTreeView.obj) : error LNK2005: "public: __thiscall `bool __cdecl irr::core::equalsByUlp(float,float,int)'::`2'::Float_t::Float_t(float)" (??0Float_t@?1??equalsByUlp@core@irr@@YA_NMMH@Z@$$FQAE@M@Z) already defined in IrrGerap.lib(GuiMetaElement.obj)
5>IrrGerap.lib(SceneTreeView.obj) : error LNK2005: "public: bool __thiscall `bool __cdecl irr::core::equalsByUlp(float,float,int)'::`2'::Float_t::sign(void)const " (?sign@Float_t@?1??equalsByUlp@core@irr@@YA_NMMH@Z@$$FQBE_NXZ) already defined in IrrGerap.lib(GuiMetaElement.obj)
5>IrrGerap.lib(EventReceiver.obj) : error LNK2005: "public: __thiscall `bool __cdecl irr::core::equalsByUlp(float,float,int)'::`2'::Float_t::Float_t(float)" (??0Float_t@?1??equalsByUlp@core@irr@@YA_NMMH@Z@QAE@M@Z) already defined in IrrGerap.lib(GuiMetaElement.obj)
5>IrrGerap.lib(EventReceiver.obj) : error LNK2005: "public: bool __thiscall `bool __cdecl irr::core::equalsByUlp(float,float,int)'::`2'::Float_t::sign(void)const " (?sign@Float_t@?1??equalsByUlp@core@irr@@YA_NMMH@Z@QBE_NXZ) already defined in IrrGerap.lib(GuiMetaElement.obj)
5>IrrGerap.lib(EventReceiver.obj) : error LNK2005: "public: __thiscall `bool __cdecl irr::core::equalsByUlp(float,float,int)'::`2'::Float_t::Float_t(float)" (??0Float_t@?1??equalsByUlp@core@irr@@YA_NMMH@Z@$$FQAE@M@Z) already defined in IrrGerap.lib(GuiMetaElement.obj)
5>IrrGerap.lib(EventReceiver.obj) : error LNK2005: "public: bool __thiscall `bool __cdecl irr::core::equalsByUlp(float,float,int)'::`2'::Float_t::sign(void)const " (?sign@Float_t@?1??equalsByUlp@core@irr@@YA_NMMH@Z@$$FQBE_NXZ) already defined in IrrGerap.lib(GuiMetaElement.obj)
5>IrrGerap.lib(GuiManager.obj) : error LNK2005: "public: __thiscall `bool __cdecl irr::core::equalsByUlp(float,float,int)'::`2'::Float_t::Float_t(float)" (??0Float_t@?1??equalsByUlp@core@irr@@YA_NMMH@Z@QAE@M@Z) already defined in IrrGerap.lib(GuiMetaElement.obj)
5>IrrGerap.lib(GuiManager.obj) : error LNK2005: "public: bool __thiscall `bool __cdecl irr::core::equalsByUlp(float,float,int)'::`2'::Float_t::sign(void)const " (?sign@Float_t@?1??equalsByUlp@core@irr@@YA_NMMH@Z@QBE_NXZ) already defined in IrrGerap.lib(GuiMetaElement.obj)
5>IrrGerap.lib(GuiManager.obj) : error LNK2005: "public: __thiscall `bool __cdecl irr::core::equalsByUlp(float,float,int)'::`2'::Float_t::Float_t(float)" (??0Float_t@?1??equalsByUlp@core@irr@@YA_NMMH@Z@$$FQAE@M@Z) already defined in IrrGerap.lib(GuiMetaElement.obj)
5>IrrGerap.lib(GuiManager.obj) : error LNK2005: "public: bool __thiscall `bool __cdecl irr::core::equalsByUlp(float,float,int)'::`2'::Float_t::sign(void)const " (?sign@Float_t@?1??equalsByUlp@core@irr@@YA_NMMH@Z@$$FQBE_NXZ) already defined in IrrGerap.lib(GuiMetaElement.obj)
5>C:\Users\PROPRIETAIRE\Documents\Visual Studio 2010\Projects\LibTest\Debug\LibTest.exe : fatal error LNK1169: one or more multiply defined symbols found
5>
5>Build FAILED.
Je précise que ma solution comporte plusieurs projets et qu'un seul pose problème (IrrGerap). Lorsque je le compile tout seul, je n'ai pas d'erreur, juste les warnings.
J'ai fait une recherche sur les codes d'erreur:
LNK2005 me renvoi à un problème de liens entre projets qui ne se pose pas ici
LNK1169: dans les forums, il est fait souvent référence à la présence de plusieurs "main()" dans un projet ce qui n'est pas le cas ici non plus. Quant à la solution proposée sur MSDN, les menus d'option auxquels il est fait référence n'existent pas "Linker"...
Dernière modification par Memorial76 (09-11-2012 09:35:47)
Hors ligne
Es-tu sûr que tu linkes bien la bonne dll? Parce que je n'ai eu aucun probleme entre la 1.7.3 et la SVN. Je suis sur codeblock et j'ai compilé irrlicht moi-même avec DX9 en debug et release. Je vais télécharger la 1.8 pour voir si elle change par rapport a la version svn que j'ai.
EDIT : J'ai télécharger la 1.8, je l'ai compiler en release accurate math - dll avec DX9 et mes anciens projets d'essais datant de la 1.7.3 marche parfaitement. Donc je te conseille de recompiler la librairie (en DEBUG et en RELEASE ACCURATE MATH - DLL) pour être sûr.
Dernière modification par johnplayer (09-11-2012 18:27:58)
Hors ligne
Merci à toi de répondre présent une fois de plus.
Après discussion avec l'auteur de la fonction en question sur le forum Irrlicht
je n'ai trouvé comme solution temporaire que de la mettre en commentaire dans irrMath.h.
Et ça fonctionne... en attendant.
Hors ligne
sinon suffi de mettre la fonction en inline
Hors ligne
Elle l'est de base dans irrMath.h
Hors ligne
Pages: 1