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 ??