Posez votre question Signaler

Bug sous VS 2005

Sivaller 127Messages postés 1 juillet 2007Date d'inscription 13 mai 2011Dernière intervention - Dernière réponse le 13 mars 2008 à 15:22
Bonjour,
Sur une library, je veux utiliser
#include <vector>
using namespace std;
typedef struct {
unsigned char c;
}TESSAI;
vector <TESSAI> essai;
Sur un nouveau projet ça fonctionne et j'ai recopier exactement le même configuration sur le projet CPAL.
ET J'AI CA !!!!
cpal.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) 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)" (__imp_??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ) referenced in function "protected: static void __cdecl std::vector<struct TESSAI,class std::allocator<struct TESSAI> >::_Xlen(void)" (?_Xlen@?$vector@UTESSAI@@V?$allocator@UTESSAI@@@std@@@std@@KAXXZ)
cpal.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) 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 *)" (__imp_??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z) referenced in function "protected: static void __cdecl std::vector<struct TESSAI,class std::allocator<struct TESSAI> >::_Xlen(void)" (?_Xlen@?$vector@UTESSAI@@V?$allocator@UTESSAI@@@std@@@std@@KAXXZ)
cpal.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) 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 &)" (__imp_??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z) referenced in function "public: __thiscall std::logic_error::logic_error(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z)
cpal.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::c_str(void)const " (__imp_?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ) referenced in function "public: virtual char const * __thiscall std::logic_error::what(void)const " (?what@logic_error@std@@UBEPBDXZ)
Microsoft me fait perdre du temps !!!
beaucoup de temps !!!!
Ou télécharger le patch de MSVC 2005 ????????????????
Lire la suite 

Bug sous VS 2005 »

2 réponses
Réponse
+0
moins plus
Salut,

As-tu eu une réponse pour ton problème ou as-tu trouvé la solution ?
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

Cela ressemble beaucoup à une erreur de mélange de runtime.
En gros, dans la solution, deux projets et/ou librairies utilisent un runtime différent, ce qui crée des erreurs de symboles non définis à l'édition de liens (généralement sur des objets de la STL, tels std::vector ou std::string dans l'exemple donné).
Pour résoudre ce problème il faut éditer les propriétés du ou des projets afin de sélectionner un même runtime, cohérent pour tout le code.
Cela se trouve dans propriétés --> C/C++ -->Generation de code --> Librairie runtime (je traduis de mémoire, j'ai la version anglaise).

Bon courage
Ajouter un commentaire
Ce document intitulé « Bug sous VS 2005 » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?