5

我正在使用 EVC++,我想编译使用套接字的程序。我已经包括

#include <winsock2.h>

我在项目属性中包含了 Ws2.lib 的路径,但在链接步骤中仍然出现错误:

错误 LNK2019:函数中引用的未解析的外部符号 WSAStartup ...

如何解决这个问题?

4

4 回答 4

16

#pragma comment(lib,"WS2_32") 毕竟#include

于 2012-11-24T13:51:01.827 回答
8

您尚未将程序与 winsock 库链接。Winsock 2 库称为 ws2_32.lib(静态)或 ws2_32.dll(动态)。它应该已经在您的系统上;您只需要告诉您的编译器/链接器将您的程序链接到它。这样做的方法因编译器而异,不幸的是我不熟悉 EVC++。

于 2010-07-29T03:52:08.733 回答
1

已在使用 MinGW 的代码块 IDE 中看到此错误。尝试了很多方法,但最终找到了这个解决方案。

在代码块 IDE 中添加(您系统中安装的 MinGW 的路径)C:\Program Files (x86)\CodeBlocks\MinGW\lib\libws2_32 C:\Program Files (x86)\CodeBlocks\MinGW\lib\libwsock32。

如何添加:转到项目。构建选项。链接器设置。单击链接库的添加。

它完成了。

于 2018-07-18T06:12:39.260 回答
0

就我而言,这个问题是通过添加解决的 #pragma comment(lib, "ws2_32.lib")

于 2022-02-06T04:18:04.437 回答