您的位置:首页 > 编程语言 > C语言/C++

在VC++ 6.0 或 Visual Studio中设置包含链接库lib文件(无法解析的外部符号 __imp__WSAStartup 的解决方案)

2011-09-04 10:52 1076 查看
用VS写socket几乎都会遇到这样的问题:在project中调用了winsock函数
WSAStartup、WSACleanup等时,即使include了头文件<winsocket2.h>,编译时还会产生error:
无法解析的外部符号 __imp__WSAStartup。

这是因为编译winsocket需要一个动态链接库文件(lib)文件,文件名为ws2_32.lib。

为了把这个ws2_32.lib加载到project当中,有两种方法。
第一种(不推荐):
在菜单 project ->settings -> link -> object/library modules 下面按格式输入ws2_32.lib 然后确定即可。
或者在VS里,工程->属性->配置属性->链接器->输入,在"附加依赖项"框最后加上ws2_32.lib,前面记得加分号隔开。


第二种:
在头文件中加入语句#pragma comment( lib, "ws2_32.lib" ) 来显式加载, 即:
#include <winsock2.h>

#pragma comment(lib, "WS2_32")


这样下次copy代码编译就行了,不用再配置。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐