Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Membre du Club
    Homme Profil pro nico
    Second de cuisine
    Inscrit en
    avril 2005
    Messages
    188
    Détails du profil
    Informations personnelles :
    Nom : Homme nico
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Second de cuisine
    Secteur : Alimentation

    Informations forums :
    Inscription : avril 2005
    Messages : 188
    Points : 67
    Points
    67

    Par défaut Reference non définie pendant le linkage

    Bonjour !

    C::B me sort ces erreurs:

    Code :
    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 ===|
    L'erreur doit etre probablement bénine, mais bon, c'est souvent pour ca qu'o arrive pas a les resoudres

    Voici l'appel dans Session.cpp
    Code :
    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 Session.h, il y a:
    Code :
    1
    2
    3
    4
    5
    6
    7
     
    #include "PacketReader.h"
    // d'autres trucs
    map<uint16_t, void (*)(PacketReader &)> headers;
    PacketReader _pr;
     
    unsigned char* _buffer;
    Dans PacketReader.h il y a:
    Code :
    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

  2. #2
    Candidat au titre de Membre du Club
    Inscrit en
    avril 2012
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : avril 2012
    Messages : 27
    Points : 11
    Points
    11

    Par défaut

    Salut

    Question bête : tu as bien utilisé Buildworkspace ?

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •