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
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2003
    Messages : 35
    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 habitué
    Inscrit en
    Mars 2003
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 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 chevronné 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
    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
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2003
    Messages : 35
    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