[Windows] gethostbyname

gethostbyname [Windows] - C - Programmation

Marsh Posté le 11-08-2003 à 21:09:51    

:hello:  
 
j'ai un ptit probleme
 

Code :
  1. struct hostent *param_de_l_host;
  2. param_de_l_host=gethostbyname("www.hardware.fr" );

 
 

Citation :

unresolved external symbol __imp__gethostbyname@4

 
 
ca vient de quoi?  :heink:


Message édité par polo021 le 11-08-2003 à 21:20:33
Reply

Marsh Posté le 11-08-2003 à 21:09:51   

Reply

Marsh Posté le 11-08-2003 à 21:11:29    

Bah faudrais peut-être inclure la lib winsock, ça marchera déjà mieux.. :p

Reply

Marsh Posté le 11-08-2003 à 21:11:43    

OS? compilateur?

Reply

Marsh Posté le 11-08-2003 à 21:12:05    

*Syl* a écrit :

Bah faudrais peut-être inclure la lib winsock, ça marchera déjà mieux.. :p  


 
ou -lsocket si pas windaube  :o  :o  :o  :o


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
Reply

Marsh Posté le 11-08-2003 à 21:15:05    

SchnapsMann a écrit :


 
ou -lsocket si pas windaube  :o  :o  :o  :o  

Ouep exact.. :o

Reply

Marsh Posté le 11-08-2003 à 21:25:50    

si ça amuse quelqu'un, j'ai retrouvé ça : un exemple de ce qu'est la structure hostent
 

Code :
  1. #include <netdb.h>
  2. #include <stdio.h>
  3. int main(int argc, char *argv[])
  4. {
  5.   while(--argc)
  6.     {
  7.       const struct hostent *h=gethostbyname(argv[argc]);
  8.      
  9.       if(h)
  10. {
  11.   int i;
  12.   printf("[ %s ]\n"
  13.   "h_name = %s\n",
  14.   argv[argc], h->h_name);
  15.   if(h->h_aliases[0])
  16.     {
  17.       printf("h_aliases = \n" );
  18.       for(i=0; h->h_aliases[i]; ++i)
  19.  {
  20.    printf("\t%s\n", h->h_aliases[i]);
  21.  }
  22.     }
  23.   printf("h_addrtype = %d\n"
  24.   "h_length = %d\n",
  25.   h->h_addrtype,
  26.   h->h_length);
  27.  
  28.   if(h->h_addr_list[0])
  29.     {
  30.       printf("h_addr_list = \n" );
  31.       for(i=0; h->h_addr_list[i]; ++i)
  32.  {
  33.    printf("\t%u.%u.%u.%u\n",
  34.    h->h_addr_list[i][0] & 0xff,
  35.    h->h_addr_list[i][1] & 0xff,
  36.    h->h_addr_list[i][2] & 0xff,
  37.    h->h_addr_list[i][3] & 0xff
  38.    );
  39.  }
  40.     }
  41. }
  42.       putchar('\n');
  43.     }
  44.   return 0;
  45. }

Reply

Marsh Posté le 11-08-2003 à 21:30:47    

y te manque une librairie c tout ca doit etre un truc genre winsock.lib (pas sur ) regarde msdn -> gethostbyname -> required lib

Reply

Marsh Posté le 11-08-2003 à 21:31:51    

*Syl* a écrit :

Bah faudrais peut-être inclure la lib winsock, ça marchera déjà mieux.. :p  

si c'est de #include <winsock2.h> c'est fait evidemment puisque ca passe la compil
 
mais pour include winsock je dois bien aller dans les settings, link et puis ajouter winsock.lib c'est cela?
 
ca me fait " cannot open file "winsock.lib"
Je dois avoir oublie un truc mais je vois plus trop quoi  :sleep:

Reply

Marsh Posté le 11-08-2003 à 21:33:16    

red faction a écrit :

y te manque une librairie c tout ca doit etre un truc genre winsock.lib (pas sur ) regarde msdn -> gethostbyname -> required lib


merci mil c'etait ca, j'avais lu un peu vite  :whistle:  
 
ws2_32.lib

Reply

Marsh Posté le 12-08-2003 à 02:51:12    

wsock32.lib aussi, laquelle il faut utiliser entre les 2 ?


Message édité par antsite le 12-08-2003 à 02:51:21
Reply

Marsh Posté le 12-08-2003 à 02:51:12   

Reply

Marsh Posté le 12-08-2003 à 08:45:02    

moi ca marche , c'est celle qui est recommandee dans la msdn, l'autre j'ai pas teste

Reply

Marsh Posté le 12-08-2003 à 11:41:43    

meme probleme avec minGW & gcc:
undefined reference to `socket@12'
... (autres fonctions de winsock)
 
gcc -l ws2_32 -o toto.exe main.o -mwindows
 
et j'ai bien mis la lib pourtant, il la trouve mais j'ai toujours les erreurs de link  :(
 
edit: trouve, il fallait que je mette -l ws2_32 en fin de commande (si on peut me dire pourquoi svp)


Message édité par antsite le 12-08-2003 à 12:32:41
Reply

Sujets relatifs:

Leave a Replay

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