为客户端/服务器编译项目[链接器错误]未定义引用

时间:2012-02-14 23:28:36

标签: c++ sockets compiler-errors

我是c ++的新手,我正在尝试连接服务器(127.0.0.1:4444)。当我尝试编译这段代码时,我得到:

[链接器错误]对WSASartup @ 8的未定义引用

[链接器错误]未定义对socket @ 12的引用

[链接器错误] undefined引用inet_addr @ 4

[链接器错误]未定义引用等...

代码:

#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 个答案:

答案 0 :(得分:1)

请参阅Winsock Programmer’s FAQ

标题 2.4

有关如何在各种版本的Microsoft VC ++上与ws2_32.lib链接的说明,请参阅社区添加here

您需要与ws2_32.lib链接。