我正在使用 EVC++,我想编译使用套接字的程序。我已经包括
#include <winsock2.h>
我在项目属性中包含了 Ws2.lib 的路径,但在链接步骤中仍然出现错误:
错误 LNK2019:函数中引用的未解析的外部符号 WSAStartup ...
如何解决这个问题?
我正在使用 EVC++,我想编译使用套接字的程序。我已经包括
#include <winsock2.h>
我在项目属性中包含了 Ws2.lib 的路径,但在链接步骤中仍然出现错误:
错误 LNK2019:函数中引用的未解析的外部符号 WSAStartup ...
如何解决这个问题?
#pragma comment(lib,"WS2_32")
毕竟#include
是
您尚未将程序与 winsock 库链接。Winsock 2 库称为 ws2_32.lib(静态)或 ws2_32.dll(动态)。它应该已经在您的系统上;您只需要告诉您的编译器/链接器将您的程序链接到它。这样做的方法因编译器而异,不幸的是我不熟悉 EVC++。
已在使用 MinGW 的代码块 IDE 中看到此错误。尝试了很多方法,但最终找到了这个解决方案。
在代码块 IDE 中添加(您系统中安装的 MinGW 的路径)C:\Program Files (x86)\CodeBlocks\MinGW\lib\libws2_32 C:\Program Files (x86)\CodeBlocks\MinGW\lib\libwsock32。
如何添加:转到项目。构建选项。链接器设置。单击链接库的添加。
它完成了。
就我而言,这个问题是通过添加解决的
#pragma comment(lib, "ws2_32.lib")