Bonjour !
C::B me sort ces erreurs:
L'erreur doit etre probablement bénine, mais bon, c'est souvent pour ca qu'o arrive pas a les resoudres
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 ||=== Client, Debug ===| obj\Debug\Session.o:D:\C++\projects\Client\Session.cpp|60|undefined reference to `unsigned short PacketReader::Read<unsigned short>()'| obj\Debug\Threads.o:D:\C++\projects\Client\Threads.cpp|19|undefined reference to `CreateSDLUserEvent(int, int, int)'| ||=== Build finished: 2 errors, 0 warnings ===|
Voici l'appel dans Session.cpp
Dans Session.h, il y a:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #include "Session.h" /* plus de code ici */ void Session::ReceivePacket() { ReceiveData(_packetlen); _pr = PacketReader(); _pr.Packet(_buffer, _packetlen); _header = _pr.Read<uint16_t>(); if(headers[_header] != NULL) { headers[_header]((_pr)); } }
Dans PacketReader.h il y a:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #include "PacketReader.h" // d'autres trucs map<uint16_t, void (*)(PacketReader &)> headers; PacketReader _pr; unsigned char* _buffer;
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
16 class PacketReader { public: PacketReader(); void Packet(unsigned char * pbuffer, int len); virtual ~PacketReader(); template <typename T> T Read(); unsigned char * buffer; int pos, length; protected: private: };
Etrangement, j'ai un deuxieme problem dans Threads.cpp
_buf = CreateSDLUserEvent(code, arg1, arg2);
Alors que dans le .h, j'inclus le fichier ou il y a cette fonction...
J'ai tenté ctrl+f11, ne marche pas.
J'ai tenté de supprimer du projet les fichiers, et de le re-ajouter, ne marche pas non plus.
Que faut-il faire?
merci, nico
Partager