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 :

Migration Projet VS 6 vers VS 2005 : Symbole externe non résolu


Sujet :

Visual C++

  1. #1
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 77
    Points : 49
    Points
    49
    Par défaut Migration Projet VS 6 vers VS 2005 : Symbole externe non résolu
    Bonjour à tous,

    J'ai récupéré une solution Visual Studio 6 (qui compile parfaitement) et je dois la faire migrer vers Visual Studio 2005.

    J'ai réglé pas mal de problèmes (cast de int en double, modification de iostream.h en iostream,...) mais j'en ai toujours un gros !!

    Pour 2 projets de la solution, il me met des trucs du genre :

    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
    1>templ.lib(array.obj) : error LNK2019: symbole externe non résolu "int __cdecl operator==(class image_base<double> &,class image_base<double> &)" (??8@YAHAAV?$image_base@N@@0@Z) référencé dans la fonction "public: bool __thiscall array<class image<double> >::operator==(class array<class image<double> > const &)const " (??8?$array@V?$image@N@@@@QBE_NABV0@@Z)
    1>linalg.lib(vector.obj) : error LNK2019: symbole externe non résolu "double & __cdecl mul(class vector<double> const &,class vector<double> const &,double &)" (?mul@@YAAANABV?$vector@N@@0AAN@Z) référencé dans la fonction "double __cdecl operator*<double>(class vector<double> const &,class vector<double> const &)" (??$?DN@@YANABV?$vector@N@@0@Z)
    1>linalg.lib(vector.obj) : error LNK2019: symbole externe non résolu "float & __cdecl mul(class vector<float> const &,class vector<float> const &,float &)" (?mul@@YAAAMABV?$vector@M@@0AAM@Z) référencé dans la fonction "float __cdecl operator*<float>(class vector<float> const &,class vector<float> const &)" (??$?DM@@YAMABV?$vector@M@@0@Z)
    1>linalg.lib(vector.obj) : error LNK2019: symbole externe non résolu "int & __cdecl mul(class vector<int> const &,class vector<int> const &,int &)" (?mul@@YAAAHABV?$vector@H@@0AAH@Z) référencé dans la fonction "int __cdecl operator*<int>(class vector<int> const &,class vector<int> const &)" (??$?DH@@YAHABV?$vector@H@@0@Z)
    1>linalg.lib(matrix.obj) : error LNK2019: symbole externe non résolu "class matrix<float> & __cdecl add(class matrix<float> const &,class matrix<float> const &,class matrix<float> &)" (?add@@YAAAV?$matrix@M@@ABV1@0AAV1@@Z) référencé dans la fonction "public: void __thiscall matrix<float>::operator+=(class matrix<float> const &)" (??Y?$matrix@M@@QAEXABV0@@Z)
    1>linalg.lib(matrix.obj) : error LNK2019: symbole externe non résolu "class matrix<float> & __cdecl sub(class matrix<float> const &,class matrix<float> const &,class matrix<float> &)" (?sub@@YAAAV?$matrix@M@@ABV1@0AAV1@@Z) référencé dans la fonction "public: void __thiscall matrix<float>::operator-=(class matrix<float> const &)" (??Z?$matrix@M@@QAEXABV0@@Z)
    1>linalg.lib(matrix.obj) : error LNK2019: symbole externe non résolu "class matrix<float> & __cdecl mul(class matrix<float> const &,class matrix<float> const &,class matrix<float> &)" (?mul@@YAAAV?$matrix@M@@ABV1@0AAV1@@Z) référencé dans la fonction "public: void __thiscall matrix<float>::operator*=(class matrix<float> const &)" (??X?$matrix@M@@QAEXABV0@@Z)
    1>linalg.lib(matrix.obj) : error LNK2019: symbole externe non résolu "class vector<float> & __cdecl mul(class matrix<float> const &,class vector<float> const &,class vector<float> &)" (?mul@@YAAAV?$vector@M@@ABV?$matrix@M@@ABV1@AAV1@@Z) référencé dans la fonction "class tmpvector<float> __cdecl operator*<float>(class matrix<float> const &,class vector<float> const &)" (??$?DM@@YA?AV?$tmpvector@M@@ABV?$matrix@M@@ABV?$vector@M@@@Z)
    1>linalg.lib(matrix.obj) : error LNK2019: symbole externe non résolu "class vector<float> & __cdecl mul(class vector<float> const &,class matrix<float> const &,class vector<float> &)" (?mul@@YAAAV?$vector@M@@ABV1@ABV?$matrix@M@@AAV1@@Z) référencé dans la fonction "class tmpvector<float> __cdecl operator*<float>(class vector<float> const &,class matrix<float> const &)" (??$?DM@@YA?AV?$tmpvector@M@@ABV?$vector@M@@ABV?$matrix@M@@@Z)
    1>linalg.lib(matrix.obj) : error LNK2019: symbole externe non résolu "class matrix<double> & __cdecl add(class matrix<double> const &,class matrix<double> const &,class matrix<double> &)" (?add@@YAAAV?$matrix@N@@ABV1@0AAV1@@Z) référencé dans la fonction "public: void __thiscall matrix<double>::operator+=(class matrix<double> const &)" (??Y?$matrix@N@@QAEXABV0@@Z)
    1>linalg.lib(matrix.obj) : error LNK2019: symbole externe non résolu "class matrix<double> & __cdecl sub(class matrix<double> const &,class matrix<double> const &,class matrix<double> &)" (?sub@@YAAAV?$matrix@N@@ABV1@0AAV1@@Z) référencé dans la fonction "public: void __thiscall matrix<double>::operator-=(class matrix<double> const &)" (??Z?$matrix@N@@QAEXABV0@@Z)
    1>linalg.lib(matrix.obj) : error LNK2019: symbole externe non résolu "class matrix<double> & __cdecl mul(class matrix<double> const &,class matrix<double> const &,class matrix<double> &)" (?mul@@YAAAV?$matrix@N@@ABV1@0AAV1@@Z) référencé dans la fonction "public: void __thiscall matrix<double>::operator*=(class matrix<double> const &)" (??X?$matrix@N@@QAEXABV0@@Z)
    1>linalg.lib(matrix.obj) : error LNK2019: symbole externe non résolu "class vector<double> & __cdecl mul(class matrix<double> const &,class vector<double> const &,class vector<double> &)" (?mul@@YAAAV?$vector@N@@ABV?$matrix@N@@ABV1@AAV1@@Z) référencé dans la fonction "class tmpvector<double> __cdecl operator*<double>(class matrix<double> const &,class vector<double> const &)" (??$?DN@@YA?AV?$tmpvector@N@@ABV?$matrix@N@@ABV?$vector@N@@@Z)
    1>linalg.lib(matrix.obj) : error LNK2019: symbole externe non résolu "class vector<double> & __cdecl mul(class vector<double> const &,class matrix<double> const &,class vector<double> &)" (?mul@@YAAAV?$vector@N@@ABV1@ABV?$matrix@N@@AAV1@@Z) référencé dans la fonction "class tmpvector<double> __cdecl operator*<double>(class vector<double> const &,class matrix<double> const &)" (??$?DN@@YA?AV?$tmpvector@N@@ABV?$vector@N@@ABV?$matrix@N@@@Z)
    1>../demo/FaceMatch.exe : fatal error LNK1120: 14 externes non résolus
    De plus, j'ai remarqué que si je modifiais l'option Convention d'appel de __cdecl(/Gd) en __fastcall(/Gr), j'ai tjs des symboles externes mais pas pour les mêmes fonctions...

    Quelqu'un sait d'où cela peut-il venir ??

  2. #2
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 77
    Points : 49
    Points
    49
    Par défaut
    Petite info supplémentaire. Les erreurs ci-dessus apparaissent avec l'options suivante :

    - Bibliothèque Runtime : /MtD


    Si par contre je modifie en mettant : /MD.

    J'ai tjs des erreurs symboles externes non résolus mais de ce type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    2>msvcprtd.lib(MSVCP80D.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<<(class std::basic_ostream<char,struct std::char_traits<char> > & (__cdecl*)(class std::basic_ostream<char,struct std::char_traits<char> > &))" (??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z) déjà défini(e) dans lkroutines.lib(lPlotWvltNet.obj)
    2>msvcprtd.lib(MSVCP80D.dll) : error LNK2005: "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::endl(class std::basic_ostream<char,struct std::char_traits<char> > &)" (?endl@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z) déjà défini(e) dans lkroutines.lib(lPlotWvltNet.obj)
    2>msvcprtd.lib(MSVCP80D.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 lkroutines.lib(lPlotWvltNet.obj)
    2>msvcprtd.lib(MSVCP80D.dll) : error LNK2005: "public: int __thiscall std::ios_base::width(int)" (?width@ios_base@std@@QAEHH@Z) déjà défini(e) dans lkroutines.lib(lPlotWvltNet.obj)
    2>msvcprtd.lib(MSVCP80D.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 lkroutines.lib(lPlotWvltNet.obj)
    2>msvcprtd.lib(MSVCP80D.dll) : error LNK2005: "public: static bool __cdecl std::char_traits<char>::eq_int_type(int const &,int const &)" (?eq_int_type@?$char_traits@D@std@@SA_NABH0@Z) déjà défini(e) dans lkroutines.lib(lPlotWvltNet.obj)
    2>msvcprtd.lib(MSVCP80D.dll) : error LNK2005: "public: static int __cdecl std::char_traits<char>::eof(void)" (?eof@?$char_traits@D@std@@SAHXZ) déjà défini(e) dans lkroutines.lib(lPlotWvltNet.obj)
    2>msvcprtd.lib(MSVCP80D.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 lkroutines.lib(lPlotWvltNet.obj)
    Qqn y voit-il une logique ??

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/10/2010, 10h23
  2. Migration projet VC++2003 vers VC++2005/2008
    Par FredSint dans le forum Visual C++
    Réponses: 1
    Dernier message: 21/01/2010, 09h00
  3. Réponses: 3
    Dernier message: 06/08/2006, 18h17
  4. LNK2019: symbole externe non résolu __ftol2_sse
    Par ellipse dans le forum MFC
    Réponses: 1
    Dernier message: 26/04/2006, 23h48
  5. LNK2019 symbole externe non résolu
    Par devmat dans le forum MFC
    Réponses: 3
    Dernier message: 04/01/2006, 00h14

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