не работает gethostbyname()
От: Аноним  
Дата: 13.10.07 11:10
Оценка:
подскажите пожалуйсто


вот кусок из msdn к Visual C++ 8.0

//----------------------
// Declare and initialize variables
hostent* remoteHost;
char* host_name;
unsigned int addr;

//----------------------
// User inputs name of host
printf("Input name of host: ");

//----------------------
// Allocate 64 byte char string for host name
host_name = (char*) malloc(sizeof(char)*64);
fgets(host_name, 64, stdin);

// If the user input is an alpha name for the host, use gethostbyname()
// If not, get host by addr (assume IPv4)
if (isalpha(host_name[0])) {   /* host address is a name */
  // if hostname terminated with newline '\n', remove and zero-terminate 
  if (host_name[strlen(host_name)-1] == '\n') 
    host_name[strlen(host_name)-1] = '\0'; 
  remoteHost = gethostbyname(host_name);
}
else  { 
  addr = inet_addr(host_name);
  remoteHost = gethostbyaddr((char *)&addr, 4, AF_INET);
}

if (WSAGetLastError() != 0) {
  if (WSAGetLastError() == 11001)
  printf("Host not found...\nExiting.\n");
}
else
  printf("error#:%ld\n", WSAGetLastError());

// The remoteHost structure can now be used to
// access information about the host


при компиляции выдает ошибки
Error 3 error LNK2019: unresolved external symbol __imp__gethostbyaddr@12 referenced in function "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) SockTest2.obj



Error 5 error LNK2019: unresolved external symbol __imp__gethostbyname@4 referenced in function "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) SockTest2.obj

и т.д.

В чем дело?
Re: не работает gethostbyname()
От: Billy Bones Россия  
Дата: 13.10.07 11:52
Оценка:
Создавайте консольное приложение и будет Вам счастье.
Re: не работает gethostbyname()
От: Michael Chelnokov Украина  
Дата: 13.10.07 12:03
Оценка:
Здравствуйте, Аноним, Вы писали:

А>при компиляции выдает ошибки

А>Error 3 error LNK2019: unresolved external symbol __imp__gethostbyaddr@12

Добавь строку
#pragma comment(lib, "ws2_32.lib")

в исходник, или добавь ws2_32.lib в Additional Dependencies линкера.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.