0

我正在尝试使用 WinSock.h 头文件,但出现以下任一错误:在 VS2010 (C++) 中:

Unresolved External Symbol to [the function included in winsock.g, e.g socket()]

在 gcc 命令行 (C) 中:

Undefined Reference to [the function included in winsock.g, e.g socket()]

代码很简单:只包括 Winsock.h 头文件,然后

SOCKET s =  socket (AF_INET, SOCK_STREAM, IPPROTO_TCP);

socket()我在&功能上遇到错误closesocket()...!我在 Stackoverflow 中搜索并找到了几个关于此的主题,但他们都建议更改头文件。我无法在此处更改 WinSock.h,因此我需要在使用头文件的实际代码中提供解决方案。有任何想法吗?

4

2 回答 2

5

根据文档,您需要ws2_32.lib.

转到 Project->Properties->Linker->Additional dependencies 并添加ws2_32.lib.

编辑:

那应该是 Project->Properties->Linker->Input->Additional Dependencies

于 2012-01-17T19:56:45.580 回答
0

这些是链接器错误,而不是编译器错误。您需要链接 WinSock 库。对于 gcc,这意味着将库添加到您的链接命令行:

gcc -Lpath/to/winsock/library -o myApplication myObject.o wsock32.lib

恐怕我对 Visual Studio 一无所知,但这个链接可能会有所帮助。

于 2012-01-17T18:47:13.343 回答