Link error Visual Studio 2005

Fermé
Narcisse - 7 juil. 2009 à 15:00
 Narcisse - 7 juil. 2009 à 15:37
Bonjour,

J'ai cherché sur google et ce forum si mon problème avait déjà eu une réponse et je n'en ai pas trouvé, si une telle réponse existe déjà j'en suis confus.

Je travaille actuellement avec une entreprise sur le développement de classe C++. Cette entreprise fonctionne uniquement avec Visual Studio 2005 SP1 donc la solution ne peut pas être de changer de logiciel de développement.

Lorsque j'essaie de compiler mon code, j'ai droit à deux très jolies erreurs à l'édition des liens (il ne s'agit a priori que d'une seule erreur) :
error LNK2001: symbole externe non résolu "public: virtual __thiscall slConditionalEntropy<class std::vector<unsigned int,class std::allocator<unsigned int> > >::~slConditionalEntropy<class std::vector<unsigned int,class std::allocator<unsigned int> > >(void)" (??1?$slConditionalEntropy@V?$vector@IV?$allocator@I@std@@@std@@@@UAE@XZ)

La classe dont il est question dans l'erreur LNK 2001 est intégrée au projet, les propriétés du projet ciblent le dossier la contenant et elle est bien en #include dans l'en-tête. Je ne comprends pas d'où elle peut provenir. Une idée lumineuse s'il vous plaît !
A voir également:

2 réponses

Salut,

Dans vc : outils - options - projets et solutions - répertoires de vc++ (dans le 2008 en tout cas)
Tu as les emplacements où VC va chercher ce dont il a besoin lors des compilation etc...

A mon avis il faut que tu renseigne quelque chose là dedans.

++
0
Cet élément provoque effectivement des LNK2001, j'en avais un par ce biais juste avant et c'est pour ça que j'ai cherché là-dedans pendant plusieurs heures avant de commencer à chercher ailleurs.

Non, je viens de trouver la réponse, elle me fait froid dans le dos, il suffisait d'ajouter à la fin de ma classe la ligne suivante :

template class SL_DLL_API slConditionalEntropy < std::vector<unsigned int> >;

J'ai trouvé cette ligne dans une classe analogue qui existait déjà et ça corrige mon erreur...

Donc problème résolu, merci tout de même Francis ;)
0