2012-02-14 2 views
0

Я новичок в C++, и я пытаюсь подключиться к серверу (127.0.0.1:4444). Когда я пытаюсь скомпилировать этот код, я получаю:Компиляция проекта для клиента/сервера [Ошибка компоновщика] undefined ссылка на

[Linker ошибка] неопределенная ссылка на WSASartup @ 8

[Linker ошибка] неопределенная ссылка на сокет @ 12

[ошибка линкера] неопределенная ссылка на inet_addr @ 4

[Linker ошибка] неопределенная ссылка на т.д ...

код:

#include <winsock2.h> 
#pragma comment(lib, "ws2_32.lib") 

int main() 
{ 
    WSADATA WSAData; 
    SOCKET sock; 
    SOCKADDR_IN sin; 
    char buffer[255]; 
    WSAStartup(MAKEWORD(2,0), &WSAData); 

    sock = socket(AF_INET, SOCK_STREAM, 0); 
    sin.sin_addr.s_addr = inet_addr("127.0.0.1"); 
    sin.sin_family = AF_INET; 
    sin.sin_port = htons(4444); 
    connect(sock, (SOCKADDR *)&sin, sizeof(sin)); 
    recv(sock, buffer, sizeof(buffer), 0); 
    closesocket(sock); 
    WSACleanup(); 
    return 0; 
} 

Где моя ошибка?

ответ

1

См заголовок 2.4 на Winsock Programmer’s FAQ

См сообщества дополнений here инструкции о том, как связать с ws2_32.lib на различных версиях Microsoft VC++.

Вам необходимо связаться с ws2_32.lib.