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

C++ Discussion :

[Conflit] Edition des liens d'un gros projet


Sujet :

C++

  1. #1
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut [Conflit] Edition des liens d'un gros projet
    Bonjour à tous!

    J'ai un tas de message par le compilo lors de mon édition des liens, et je vois pas trop le problème. J'ai, d'une part, l'interface graphique réalisée avec WxWidget qui compile parfaitement, de l'autre les traitements qui fonctionnement parfaitement aussi. Mais quand je met tout ensemble, y'a quelquechose qui cloche...

    Bon, je met tout ce qu'il me dit, et ça pue le conflit entre librairies...

    msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z) déjà défini(e) dans Camera.obj
    msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ) déjà défini(e) dans Camera.obj
    msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z) déjà défini(e) dans Camera.obj
    msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: void __thiscall std::_Mutex::_Lock(void)" (?_Lock@_Mutex@std@@QAEXXZ) déjà défini(e) dans libcpmt.lib(xmutex.obj)
    msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: void __thiscall std::_Mutex::_Unlock(void)" (?_Unlock@_Mutex@std@@QAEXXZ) déjà défini(e) dans libcpmt.lib(xmutex.obj)
    msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::flush(void)" (?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ) déjà défini(e) dans Camera.obj
    msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: void __thiscall std::basic_ostream<char,struct std::char_traits<char> >::_Osfx(void)" (?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ) déjà défini(e) dans Camera.obj
    msvcprt.lib(MSVCP80.dll) : error LNK2005: "bool __cdecl std::uncaught_exception(void)" (?uncaught_exception@std@@YA_NXZ) déjà défini(e) dans libcpmt.lib(uncaught.obj)
    msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::setstate(int,bool)" (?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z) déjà défini(e) dans Camera.obj
    msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputn(char const *,int)" (?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPBDH@Z) déjà défini(e) dans Camera.obj
    msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputc(char)" (?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z) déjà défini(e) dans Camera.obj
    msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(double)" (??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@N@Z) déjà défini(e) dans interpolationBase.obj
    msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(int)" (??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@H@Z) déjà défini(e) dans Camera_IR.obj
    msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(double &)" (??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAN@Z) déjà défini(e) dans main.obj
    MSVCRT.lib(MSVCR80.dll) : error LNK2005: "public: __thiscall std::exception::exception(char const * const &)" (??0exception@std@@QAE@ABQBD@Z) déjà défini(e) dans LIBCMT.lib(stdexcpt.obj)
    MSVCRT.lib(MSVCR80.dll) : error LNK2005: "public: virtual __thiscall std::exception::~exception(void)" (??1exception@std@@UAE@XZ) déjà défini(e) dans LIBCMT.lib(stdexcpt.obj)
    MSVCRT.lib(MSVCR80.dll) : error LNK2005: "public: __thiscall std::exception::exception(void)" (??0exception@std@@QAE@XZ) déjà défini(e) dans LIBCMT.lib(stdexcpt.obj)
    MSVCRT.lib(MSVCR80.dll) : error LNK2005: __isnan déjà défini(e) dans LIBCMT.lib(ieeemisc.obj)
    MSVCRT.lib(MSVCR80.dll) : error LNK2005: __controlfp déjà défini(e) dans LIBCMT.lib(ieee87.obj)
    MSVCRT.lib(MSVCR80.dll) : error LNK2005: __invalid_parameter_noinfo déjà défini(e) dans LIBCMT.lib(invarg.obj)
    MSVCRT.lib(MSVCR80.dll) : error LNK2005: "public: __thiscall std::exception::exception(class std::exception const &)" (??0exception@std@@QAE@ABV01@@Z) déjà défini(e) dans LIBCMT.lib(stdexcpt.obj)
    MSVCRT.lib(MSVCR80.dll) : error LNK2005: _memmove_s déjà défini(e) dans LIBCMT.lib(memmove_s.obj)
    MSVCRT.lib(MSVCR80.dll) : error LNK2005: _ldexp déjà défini(e) dans LIBCMT.lib(ldexp.obj)
    MSVCRT.lib(MSVCR80.dll) : error LNK2005: __time64 déjà défini(e) dans LIBCMT.lib(time64.obj)
    MSVCRT.lib(MSVCR80.dll) : error LNK2005: _rand déjà défini(e) dans LIBCMT.lib(rand.obj)
    MSVCRT.lib(MSVCR80.dll) : error LNK2005: _srand déjà défini(e) dans LIBCMT.lib(rand.obj)
    MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) déjà défini(e) dans LIBCMT.lib(typinfo.obj)
    MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) déjà défini(e) dans LIBCMT.lib(typinfo.obj)
    LINK : warning LNK4098: conflit entre la bibliothèque par défaut 'MSVCRT' et les autres bibliothèques ; utilisez /NODEFAULTLIB:library
    D:\wxTest7\Release\wxTest.exe : fatal error LNK1169: un ou plusieurs symboles définis à différentes reprises ont été rencontrés
    Si vous avez une idée, n'hésitez surtout pas !
    Merci !

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Comme d'hab, il y a sûrement l'une des bibliothèques qui a été compilée avec une version diffférente de la CRT.

  3. #3
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    Mouais ça doit être ça: y'a du /MT et /MD, donc forcément...
    C'est chiant ces incompatibilités...

  4. #4
    Invité de passage
    Inscrit en
    Juillet 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 1
    Par défaut
    Et donc y a t il moyen pour régler ça ? oO
    Recompiler toutes les bibliothèques avec le même compilo ?

  5. #5
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Avec le même compilo, et surtout avec les mêmes options de CRT.

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

Discussions similaires

  1. Edition des liens d'une bibliothèque sans .lib
    Par Matthieu Brucher dans le forum Visual C++
    Réponses: 5
    Dernier message: 08/02/2007, 22h00
  2. Template + probleme à l'édition des liens
    Par ExSter dans le forum Langage
    Réponses: 11
    Dernier message: 07/12/2006, 23h13
  3. Réponses: 5
    Dernier message: 03/12/2006, 16h15
  4. Problème d'édition des liens
    Par keyra dans le forum C
    Réponses: 9
    Dernier message: 30/04/2006, 12h48
  5. Edition des liens croisée
    Par Matthieu Brucher dans le forum Windows
    Réponses: 3
    Dernier message: 22/03/2006, 00h08

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