[Windows Sokets] {résolu} un prob de compilation avec code::blocks

{résolu} un prob de compilation avec code::blocks [Windows Sokets] - C - Programmation

Marsh Posté le 21-08-2006 à 23:36:31    

Salut
J'ai commencer aujourduis à prendre la programmation en utilisant les sokets en C sous windows .
Alors j'ai voulu commencer par un simple tuto : celui là http://c.developpez.com/WalrusSock/ .
Mais il y a un probléme : quand je veut compiler un programme il me met les ca:

Citation :


.objs\main.o:main.c:(.text+0xcf): undefined reference to `listen@8'
.objs\main.o:main.c:(.text+0xfe): undefined reference to `accept@12'
.objs\main.o:main.c:(.text+0x136): undefined reference to `send@16'
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 0 seconds)
0 errors, 0 warnings
 


 
le code source et bien juste :
 

Code :
  1. #include<windows.h>
  2. #include<stdio.h>
  3. #include <winsock2.h>
  4. #pragma comment(lib, "ws2_32.lib" )
  5. int main()
  6. {
  7. WSADATA WSAData;
  8. WSAStartup(MAKEWORD(2,0), &WSAData);
  9. SOCKET sock;
  10. SOCKET csock;
  11. SOCKADDR_IN sin;
  12. SOCKADDR_IN csin;
  13. sock = socket(AF_INET, SOCK_STREAM, 0);
  14. sin.sin_addr.s_addr   = INADDR_ANY;
  15. sin.sin_family    = AF_INET;
  16. sin.sin_port    = htons(23);
  17. bind(sock, (SOCKADDR *)&sin, sizeof(sin));
  18. listen(sock, 0);
  19. while(1)
  20. {
  21. int sinsize = sizeof(csin);
  22. if((csock = accept(sock, (SOCKADDR *)&csin, &sinsize)) != INVALID_SOCKET)
  23. {
  24. send(csock, "Hello world!\r\n", 14, 0);
  25. }
  26. }
  27. }


 
c'est le code source de l'exemple du tuto .
 
donc je ne vois pas où est le prob !!!
 
j'utilise code::blocks
 
merci pour votre aide


Message édité par big_dadi_fat le 23-08-2006 à 14:36:20
Reply

Marsh Posté le 21-08-2006 à 23:36:31   

Reply

Marsh Posté le 22-08-2006 à 22:19:30    

UP
 
je ne trouve meme pas la lib ws2_32 dans le repertoire de mon compilateur  :(  
peut-on la telecharger pour utilisation sous code::blocks ? c'est une .lib  ou  .a  ?
 
 
remerci  
 
 :cry:  
 


Message édité par big_dadi_fat le 22-08-2006 à 22:32:41
Reply

Marsh Posté le 23-08-2006 à 00:37:33    

Chez moi la bibliothèque est libws2_32.a
 
Dans les paramètres de l'édition des liens (link), il faut ajouter

-lws2_32

N.B. On laisse tomber le préfixe "lib", et le suffixe ".a".

Reply

Marsh Posté le 23-08-2006 à 14:34:12    

olivthill a écrit :

Chez moi la bibliothèque est libws2_32.a
 
Dans les paramètres de l'édition des liens (link), il faut ajouter

-lws2_32

N.B. On laisse tomber le préfixe "lib", et le suffixe ".a".


 
 
ah ca marche enfin , merci olivthill  :)  :)  :)  
 
 
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed