ошибка компоновщика для ns_initparse

Здесь код

#include  #include  #include  #include  #include  int main (int argc, char *argv[]) { u_char nsbuf[4096]; char dispbuf[4096]; ns_msg msg; ns_rr rr; int i, j, l; if (argc < 2) { printf ("Usage: %s [...]\n", argv[0]); exit (1); } for (i = 1; i < argc; i++) { l = res_query (argv[i], ns_c_any, ns_t_mx, nsbuf, sizeof (nsbuf)); if (l < 0) { perror (argv[i]); } else { #ifdef USE_PQUERY /* this will give lots of detailed info on the request and reply */ res_pquery (&_res, nsbuf, l, stdout); #else /* just grab the MX answer info */ ns_initparse (nsbuf, l, &msg); printf ("%s :\n", argv[i]); l = ns_msg_count (msg, ns_s_an); for (j = 0; j < l; j++) { ns_parserr (&msg, ns_s_an, j, &rr); ns_sprintrr (&msg, &rr, NULL, NULL, dispbuf, sizeof (dispbuf)); printf ("%s\n", dispbuf); } #endif } } exit (0); } 

Я скомпилирую его как

gcc dns.c -lresolv

и я получаю следующую ошибку компоновщика

В функции main': dns.c:(.text+0xd5): undefined reference to __ns_initparse’ dns.c :(. Text + 0x130): неопределенная ссылка на __ns_parserr' dns.c:(.text+0x16a): undefined reference to __ns_sprintrr ‘

Помогите

Связывание с библиотекой resolver помогло исправить его проблему для меня, я добавил -lresolv в мою команду компиляции.

Я считаю, что вам нужно добавить

 #include  

к вашему файлу