IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Dev-C++ Discussion :

[Debutant] Problème du linker [Dev-c++4]


Sujet :

Dev-C++

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2003
    Messages : 35
    Points : 39
    Points
    39
    Par défaut [Resolu][Debutant] Problème du linker [Dev-c++4]
    Bonjour à tous,

    Désolé si ma question vous parait très simple, mais bon je suis quand même bloqué, et je ne suis qu'un débutant .

    Je suis occupé à essayer les sockets, j'ai créé une petite application sensé être le serveur qui envoi un message dès que la personne se connecte.
    Voici mon code :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    #include <winsock.h>
    #pragma comment(lib, "wsock32.lib")
     
    void main()
    {
         WSADATA WSAData;
         WSAStartup(MAKEWORD(1,0), &WSAData);
     
         SOCKET sock;
         SOCKET csock;
         SOCKADDR_IN sin;
         SOCKADDR_IN csin;
     
         sock=socket(AF_INET, SOCK_STREAM, 0);
     
         sin.sin_addr.s_addr        = INADDR_ANY;
         sin.sin_family             = AF_INET;
         sin.sin_port               = htons(4098);
     
         bind(sock, (SOCKADDR *)&sin, sizeof(sin));
         listen(sock, 0);
     
         while(1)
         {
                 int sinsize=sizeof(csin);
                 if((csock=accept(sock, (SOCKADDR *)&csin, &sinsize))!=INVALID_SOCKET)
                 send(csock, "Ca marche! :)", 67, 0);
         }
     
    }
    Et quand je compile le compilateur me renvoit aucune erreur, mais le linker me dit :
    D:\c++codage\server_envoi.o(.text+0x10):server_envoi.c: multiple definition of `main'
    d:\c++codage\server_envoi.o(.text+0x10):server_envoi.c: first defined here
    d:\c++codage\server_envoi.o(.text+0x2b):server_envoi.c: undefined reference to `WSAStartup@8'
    d:\c++codage\server_envoi.o(.text+0x3c):server_envoi.c: undefined reference to `socket@12'
    d:\c++codage\server_envoi.o(.text+0x67):server_envoi.c: undefined reference to `htons@4'
    d:\c++codage\server_envoi.o(.text+0x8b):server_envoi.c: undefined reference to `bind@12'
    d:\c++codage\server_envoi.o(.text+0x9f):server_envoi.c: undefined reference to `listen@8'
    d:\c++codage\server_envoi.o(.text+0xd3):server_envoi.c: undefined reference to `accept@12'
    d:\c++codage\server_envoi.o(.text+0xfc):server_envoi.c: undefined reference to `send@16'
    D:\c++codage\server_envoi.o(.text+0x2b):server_envoi.c: undefined reference to `WSAStartup@8'
    D:\c++codage\server_envoi.o(.text+0x3c):server_envoi.c: undefined reference to `socket@12'
    D:\c++codage\server_envoi.o(.text+0x67):server_envoi.c: undefined reference to `htons@4'
    D:\c++codage\server_envoi.o(.text+0x8b):server_envoi.c: undefined reference to `bind@12'
    D:\c++codage\server_envoi.o(.text+0x9f):server_envoi.c: undefined reference to `listen@8'
    D:\c++codage\server_envoi.o(.text+0xd3):server_envoi.c: undefined reference to `accept@12'
    D:\c++codage\server_envoi.o(.text+0xfc):server_envoi.c: undefined reference to `send@16'
    Mais je n'arrive pas à comprendre cette erreur , alors je me demandais s'il y aurait quelqu'un de gentil pour un peu m'éclairer sur ce que je dois faire pour la résoudre.
    Merci à tous, bonne journée.

  2. #2
    Membre à l'essai
    Inscrit en
    Mars 2003
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    undefined reference
    un message d'erreur de ce type signifie que la librairie contenant les fonctions que tu appelles n'est pas incluse lors de ta compilation, il faudrait peut-être modifier la ligne de compilation de facon a lui préciser la librairie winsock.lib

  3. #3
    zul
    zul est déconnecté
    Membre éclairé Avatar de zul
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 498
    Points : 699
    Points
    699
    Par défaut
    pragma comment() ne marche pas sous dev-c++ pour preciser les lib a inclure.
    Il te faut donc preciser autremenent au compilateur les lib a inclure. Soit dans outils,options du compilateur,ajouter ces commandes lors de l'edition des liens, il fo rajouter ici -lwsock32 (winsock1) ou -lws2_32 (winsock2).
    Sinon tu peux si tu es dans un projet, options du projet ,parametre, editeur de lien,rajouter les libs suivantes et la tu selectionne libwsock32.a ou lws2_32.a (dans le repertoire lib de dev-c++).

    ZUL

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2003
    Messages : 35
    Points : 39
    Points
    39
    Par défaut
    un grand merci pour votre aide cela m'a beaucoup aider .
    bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème linker Dev-C++ sockets ws2_32
    Par Alp dans le forum Dev-C++
    Réponses: 3
    Dernier message: 07/04/2006, 18h03
  2. [DX9] [Debutant] Problème de transparence :(
    Par SekYo dans le forum DirectX
    Réponses: 5
    Dernier message: 10/09/2004, 14h19
  3. [Debutant] Problème de sécurité dans un applet
    Par peaceinpal dans le forum Applets
    Réponses: 3
    Dernier message: 09/09/2004, 20h56
  4. [debutant]Problèmes
    Par BibiGmi dans le forum OpenGL
    Réponses: 2
    Dernier message: 05/03/2004, 14h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo