2010-11-20 24 views
1

Je suis coincé et je ne peux pas l'air de compiler les éléments suivants (yeahp ... grand start..i savoir ..: P)commencer dans WinSock ne peut pas le premier bit à compiler

#include <windows.h> 
#include <winsock2.h> 
#include <ws2tcpip.h> 
#include <iphlpapi.h> 
#include <stdio.h> 
#include <iostream> 

using namespace std; 

int main(void){ 
    const int iReqWinsockVer = 2; // 
    WSADATA wsadata; 

    if (WSAStartup(MAKEWORD(iReqWinsockVer,0), &wsadata) == 0){ 
     if (LOBYTE(wsadata.wVersion) >= iReqWinsockVer){ 


     } 
     else{ 
      cout<<" Required version Not available..." << endl; 
     } 
     if (WSACleanup()!=0){ 
      cout<<"Clean up failed!..." << endl; 
     } 
    } 
    else{ 
     cout<<"Startup faled!..." << endl; 
    } 

    return 0; 

} 

Je reçois les erreurs suivantes

C:\DOCUME~1\rs\LOCALS~1\Temp/ccygafwl.o:sock.cpp:(.text+0x14a): undefined reference to `[email protected]' 
C:\DOCUME~1\rs\LOCALS~1\Temp/ccygafwl.o:sock.cpp:(.text+0x186): undefined reference to `[email protected]' 
collect2: ld returned 1 exit status 

I J'utilise GCC et compiler à travers le commande-linem est là quelque chose que je dois lier ?.

-Merci.

+0

Je pense que '-lws2 'fonctionne. Stretching ma mémoire cependant. – sje397

+0

Voulez-vous dire que vous utilisez Mingw ou GCC via Cygwin? Pourquoi ne pas simplement utiliser un code spécifique gratuit Édition Express de Visual Studio pour Windows? –

+0

Mingw, j'essaie d'éviter le studio visuel en ce moment, je ne sais pas vraiment comment l'utiliser, et je ne pense pas que quelque chose d'aussi simple que cela nécessite vraiment un tel IDE :). Encore à apprendre. – silent

Répondre

1

Vous devez lier votre projet à la bibliothèque de winsock en utilisant -lws2_32 (si je me souviens bien).

+0

merci beaucoup – silent

0

Salut, je pense que vous didnt lien avec avec prise victoire lib (Ws2_32.lib en studio vissual)

+0

bonjour, je n'utilise pas de studio visuel, juste GCC et notepad ++. Comment est-ce que je fais ceci manuellement? – silent

+0

Je pense que vous avez besoin de ce -lws2_32 –

+0

Ups icecrime était le premier) –

1

gcc -o socket.exe socket.c -lws2_32

+0

merci beaucoup – silent