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

C Discussion :

problème de linkage


Sujet :

C

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 196
    Par défaut problème de linkage
    bonjour,
    je suis entrain de m'initier à la programmation réseau en C. J'ai récupérer un code de proxy en C sur lequel je voudrais rtavailler un peu mais je n'arrive pas à le compiler avec Code::Block et gcc. J'ai l'erreur suivante:
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    Project   : Console application
    Compiler  : GNU GCC Compiler (called directly)
    Directory : D:\CodeC\proxy\
    --------------------------------------------------------------------------------
    Switching to target: default
    Compiling: main.c
    Linking console executable: D:\CodeC\proxy\proxy.exe
    .objs\main.o:main.c:(.text+0x886): undefined reference to `recv@16'
    .objs\main.o:main.c:(.text+0xce2): undefined reference to `closesocket@4'
    .objs\main.o:main.c:(.text+0xda6): undefined reference to `gethostbyname@4'
    .objs\main.o:main.c:(.text+0xdf8): undefined reference to `send@16'
    .objs\main.o:main.c:(.text+0xe06): undefined reference to `closesocket@4'
    .objs\main.o:main.c:(.text+0xe4c): undefined reference to `socket@12'
    .objs\main.o:main.c:(.text+0xe5d): undefined reference to `WSAGetLastError@0'
    .objs\main.o:main.c:(.text+0xe84): undefined reference to `closesocket@4'
    .objs\main.o:main.c:(.text+0xed9): undefined reference to `htons@4'
    .objs\main.o:main.c:(.text+0xf25): undefined reference to `connect@12'
    .objs\main.o:main.c:(.text+0xf6c): undefined reference to `send@16'
    .objs\main.o:main.c:(.text+0xf7a): undefined reference to `closesocket@4'
    .objs\main.o:main.c:(.text+0xf88): undefined reference to `closesocket@4'
    .objs\main.o:main.c:(.text+0xfe1): undefined reference to `send@16'
    .objs\main.o:main.c:(.text+0x1009): undefined reference to `recv@16'
    .objs\main.o:main.c:(.text+0x1053): undefined reference to `send@16'
    .objs\main.o:main.c:(.text+0x1063): undefined reference to `closesocket@4'
    .objs\main.o:main.c:(.text+0x1071): undefined reference to `closesocket@4'
    .objs\main.o:main.c:(.text+0x10e9): undefined reference to `WSAStartup@8'
    .objs\main.o:main.c:(.text+0x10f5): undefined reference to `WSAGetLastError@0'
    .objs\main.o:main.c:(.text+0x1152): undefined reference to `socket@12'
    .objs\main.o:main.c:(.text+0x1169): undefined reference to `WSAGetLastError@0'
    .objs\main.o:main.c:(.text+0x1196): undefined reference to `WSACleanup@0'
    .objs\main.o:main.c:(.text+0x11ba): undefined reference to `htons@4'
    .objs\main.o:main.c:(.text+0x120f): undefined reference to `bind@12'
    .objs\main.o:main.c:(.text+0x121c): undefined reference to `WSAGetLastError@0'
    .objs\main.o:main.c:(.text+0x1252): undefined reference to `closesocket@4'
    .objs\main.o:main.c:(.text+0x125a): undefined reference to `WSACleanup@0'
    .objs\main.o:main.c:(.text+0x127f): undefined reference to `listen@8'
    .objs\main.o:main.c:(.text+0x12a4): undefined reference to `accept@12'
    .objs\main.o:main.c:(.text+0x12bb): undefined reference to `WSAGetLastError@0'
    .objs\main.o:main.c:(.text+0x12f1): undefined reference to `closesocket@4'
    .objs\main.o:main.c:(.text+0x12f9): undefined reference to `WSACleanup@0'
    .objs\main.o:main.c:(.text+0x1316): undefined reference to `inet_ntoa@4'
    collect2: ld returned 1 exit status
    Process terminated with status 1 (0 minutes, 1 seconds)
    voici mes include:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
     
    #include <winsock2.h>
    #include <windows.h>
    #pragma comment(lib, "ws2_32.lib")
    D'ou peu venir le problème SVP

    MERCI DE VOTRE AIDE

  2. #2
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    pragma ne fonctionne que pour Visual Studio...

    pour C::B il faut que tu ailles dans les Build Options de ton projet, onlget Linker
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  3. #3
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 392
    Par défaut
    pragma comment ne fonctionne que pour Visual Studio.

    Pour GCC, tu dois rajouter l'option -lws2_32 au linker.
    (Enfin, pour code::blocks, il y a les options du projet pour cela, j'ignore si tu auras ou non besoin du préfixe -l)
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 196
    Par défaut
    ben c'est clair ça marche mieux!!!

    merci de ton aide, j'aurrai pu chercher longtemps!!!

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

Discussions similaires

  1. Code::Blocks sous Linux problème de linkage
    Par Invité dans le forum Code::Blocks
    Réponses: 3
    Dernier message: 22/03/2006, 16h54
  2. [Code::Blocks] Problème de linkage: "msvcrt.lib"
    Par skhay dans le forum Code::Blocks
    Réponses: 8
    Dernier message: 14/03/2006, 19h39
  3. Plusieurs fichiers => Problème de Linkage
    Par loic911 dans le forum C++
    Réponses: 6
    Dernier message: 01/03/2006, 00h11
  4. Problème de linkage avec la librairie DevIl
    Par Drannor dans le forum DevIL
    Réponses: 1
    Dernier message: 18/01/2006, 23h05
  5. Problème de linkage
    Par lvdnono dans le forum Windows
    Réponses: 4
    Dernier message: 15/06/2004, 12h32

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