【发布时间】:2011-03-07 22:04:17
【问题描述】:
我正在 Visual Studio 2010 中编写程序。
我无法将名为 ws2_32.dll 的文件与我的项目链接。
谁能告诉我该怎么做?
【问题讨论】:
-
你试过什么?您在项目中的哪些地方进行了更改?取得了哪些实际成果?如果有错误消息,它们是什么?
标签: c visual-studio winapi linker-errors winsock2
我正在 Visual Studio 2010 中编写程序。
我无法将名为 ws2_32.dll 的文件与我的项目链接。
谁能告诉我该怎么做?
【问题讨论】:
标签: c visual-studio winapi linker-errors winsock2
通常您不会直接链接到 ws2_32.dll,而是链接到 WS2_32.Lib,您可以在 Windows SDK 中找到它。所以在你的代码中你写
#include <winsock2.h>
然后将 WS2_32.Lib 添加到链接器设置中,一切顺利。
Windows SDK 在这里:
【讨论】:
首要任务是导入定义ws2_32.dll 导出的函数的头文件。为此,您可以将以下语句添加到您希望在其中调用这些函数的任何源文件的顶部:
#include <winsock2.h>
然后,您必须告诉链接器在哪里可以找到该 DLL 的导入库。在 Visual Studio 中有两种方法可以做到这一点,但最简单的方法是在源代码中添加以下行:
#pragma comment(lib, "ws2_32.lib")
您还可以将其作为依赖项添加到链接器的“附加依赖项”属性(在您的项目属性 -> 配置属性 -> 链接器 -> 输入下找到)。
MSDN 也有一个getting started guide,它会引导您了解creating a basic Winsock application。在继续之前,请确保您已阅读它。
【讨论】:
如果您没有 lib 文件,则需要使用 LoadLibrary 加载文件。
【讨论】: