Получение ошибочной неопределенной ссылки на `getaddrinfo 'в Linux - PullRequest
0 голосов
/ 21 сентября 2011

Когда я пытаюсь скомпилировать свою маленькую программу на C, я получаю сообщение об ошибке: : неопределенная ссылка на `getaddrinfo '. Я также включил заголовочные файлы netdb.h и socket.h. Но ошибка в компоновщике.

Я вижу запрос уже в stackoverflow, но это было в Windows. Я пытаюсь это на машине Linux. Как сделать так, чтобы компиляция прошла успешно?

Спасибо!

Вот код:

   #include <stdlib.h>
   #include <stdio.h>
   #include <sys/socket.h>
   #include <sys/types.h>
   #include <netdb.h>

   int main() {
   int status;
   struct addrinfo hints;
  struct addrinfo *servinfo; // will point to the results

  memset(&hints, 0, sizeof hints); // make sure the struct is empty 
  hints.ai_family = AF_UNSPEC;    // don't care IPv4 or IPv6
  hints.ai_socktype = SOCK_STREAM; // TCP stream sockets 
  hints.ai_flags = AI_PASSIVE;    // fill in my IP for me
  if ((status = getaddrinfo(NULL, "80", &hints, &servinfo)) != 0)
  {

     fprintf(stderr, "getaddrinfo error: \n");
      exit(1);
  }
  printf("\n %d %d %d %d %d %s",servinfo->ai_flags, servinfo->ai_family, servi    nfo->ai_socktype, servinfo->ai_protocol, servinfo->ai_addrlen, servinfo->ai_canonname);
  return 0;
 }

gcc test5.c /tmp/ccrFX43l.o(.text+0x4c): в функции main': : undefined reference to getaddrinfo ' collect2: ld вернул 1 статус выхода

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...