6

我正在 Visual Studio 2010 中编写程序。我无法链接以ws2_32.dll我的项目命名的文件。

谁能告诉我我该怎么做?

4

3 回答 3

7

通常,您不会直接链接到 ws2_32.dll ,而是链接到 WS2_32.Lib,您可以在 Windows SDK 中找到它。所以在你写的代码中

#include <winsock2.h>

并在链接器设置中添加 WS2_32.Lib ,一切顺利。

Windows SDK 在这里:

http://msdn.microsoft.com/en-us/windows/bb980924.aspx

于 2011-03-07T13:52:30.093 回答
6

首要任务是导入定义由ws2_32.dll. 您可以通过将以下语句添加到您希望在其中调用这些函数的任何源文件的顶部来做到这一点:

#include <winsock2.h>

然后,您必须告诉链接器在哪里可以找到该 DLL 的导入库。在 Visual Studio 中有两种方法可以做到这一点,但最简单的方法是将以下行添加到源代码中:

#pragma comment(lib, "ws2_32.lib")

您还可以将其作为依赖项添加到链接器的“附加依赖项”属性中(在您的项目属性 -> 配置属性 -> 链接器 -> 输入下找到该属性)。

MSDN 也有一个入门指南,引导您创建一个基本的 Winsock 应用程序。在继续之前,请确保您已阅读它。

于 2011-03-07T13:59:04.953 回答
0

如果您没有 lib 文件,则需要使用LoadLibrary加载文件。

于 2011-03-07T13:42:43.600 回答