我是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;
}
我的错误在哪里?
答案 0 :(得分:1)
有关如何在各种版本的Microsoft VC ++上与ws2_32.lib链接的说明,请参阅社区添加here。
您需要与ws2_32.lib链接。