为什么我的C程序中的ws2_32.dll会出现链接器错误?

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

谁能告诉我怎么做到这一点?

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

 #include  

你的链接器设置你添加WS2_32.Lib,你很高兴。

Windows SDK在这里:

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

第一项业务是导入定义ws2_32.dll导出的函数的头文件。 您可以通过将以下语句添加到要在以下位置调用这些函数的任何源文件的顶部来执行此操作:

 #include  

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

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

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

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

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