Bonjour,
j'ai (encore) une erreur de linkage que j'arrive pas à déterminer, cette fois-ci c'est le problème inverse :
ain.obj : error LNK2019: symbole externe non résolu "public: __thiscall Sprite::Sprite(class SpriteSet *,class std::map<int,class std::vector<int,class std::allocator<int> >,struct std::less<int>,class std::allocator<struct std::pair<int const ,class std::vector<int,class std::allocator<int> > > > >)" (??0Sprite@@QAE@PAVSpriteSet@@V?$map@HV?$vector@HV?$allocator@H@std@@@std@@U?$less@H@2@V?$allocator@U?$pair@$$CBHV?$vector@HV?$allocator@H@std@@@std@@@std@@@2@@std@@@Z) référencé dans la fonction _SDL_main
Voici le bout de code en question :
1 2 3 4 5 6 7 8 9 10 11
| SpriteSet ss1("charset.png", 3, 2, false);
std::vector<int> test;
test.push_back(1);
test.push_back(2);
std::map<int, std::vector< int > > map1;
map1.insert(make_pair(1, test));
Sprite s1(&ss1, map1); |
qui donc se compile bien en .obj
A noter que je ne peux pas non plus écrire :
Sprite s1;
dans mon code sans créér une erreur de lien, même si le fichier se compile...
Une idée?
Mon constructeur est défini dans le .h comme :
Sprite(SpriteSet * spriteset, std::map<int, std::vector< int > > sprite_surfaces_index);
Partager