未定义的参考/未解析的外部符号

时间:2012-01-17 18:45:07

标签: c winsock undefined-reference unresolved-external

我正在尝试使用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,因此我需要在使用头文件的实际代码中使用解决方案。有什么想法吗?

2 个答案:

答案 0 :(得分:5)

根据文档,您需要ws2_32.lib

转到Project-> Properties-> Linker->其他依赖项并添加ws2_32.lib

编辑:

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

答案 1 :(得分:0)

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

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

我对Visual Studio一无所知,我担心,但this link可能有所帮助。

相关问题