[débutant] Sockets: Problème de compilation
Bonjour,
J'ai lu le tutoriel de The Warlus sur les sockets, mais mon IDE (Code::Blocks) ne veut pas compiler, même quand je prends des exemples de l'article.
Il fait comme si je n'avais pas inclus winsock2. Pourtant, il reconnait le type "WSAData".:(
Par exemple:
Je mets ce code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| #include <stdio.h>
#include <stdlib.h>
#include <winsock2.h>
#pragma comment(lib, "ws2_32.lib")
int main(void)
{
WSADATA WSAdata;
WSAStartup(MAKEWORD(2,0), &WSAdata);
SOCKET sock;
SOCKADDR_IN sin;
char *buffer;
sin.sin_addr.s_addr = inet_addr("ip");
sin.sin_family = AF_INET;
sin.sin_port = htons(6667);
sock=socket(AF_INET, SOCK_STREAM, 0);
connect(sock, (SOCKADDR *)&sin, sizeof(sin));
recv(sock, buffer, sizeof(buffer), 0);
closesocket(sock);
WSACleanup();
system("PAUSE");
return 0;
} |
Et il me répond ça:
Citation:
Switching to target: default
Compiling: main.c
Linking console executable: C:\testcodeblocks.exe
.objs\main.o:main.c: (.text+0x45): undefined reference to `WSAStartup@8'
.objs\main.o:main.c: (.text+0x54): undefined reference to `inet_addr@4'
.objs\main.o:main.c: (.text+0x72): undefined reference to `htons@4'
.objs\main.o:main.c: (.text+0x98): undefined reference to `socket@12'
.objs\main.o:main.c: (.text+0xc1): undefined reference to `connect@12'
.objs\main.o:main.c: (.text+0xec): undefined reference to `recv@16'
.objs\main.o:main.c: (.text+0xfd): undefined reference to `closesocket@4'
.objs\main.o:main.c: (.text+0x105): undefined reference to `WSACleanup@0'
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 0 seconds)
ça doit être tout bête, je sais...:roll:
Merci d'avance.