*.Obj:error LNK2019: 无法解析的外部符号 (解决方法)


在用C++进行套接字编程时遇到下面的错误:

1>------ 已启动生成: 项目: NetClient, 配置: Debug Win32 ------
1>  NetClient.cpp
1>c:/my documents/visual studio 2010/projects/netserver/netclient/netclient.cpp(48): warning C4996: 'gets': This function or variable may be unsafe. Consider using gets_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          d:/vs2010/vc/include/stdio.h(277) : 参见“gets”的声明
1>c:/my documents/visual studio 2010/projects/netserver/netclient/netclient.cpp(59): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          d:/vs2010/vc/include/stdio.h(371) : 参见“sprintf”的声明
1>NetClient.obj : error LNK2019: 无法解析的外部符号 _closesocket@4,该符号在函数 _main 中被引用
1>NetClient.obj : error LNK2019: 无法解析的外部符号 _inet_ntoa@4,该符号在函数 _main 中被引用
1>NetClient.obj : error LNK2019: 无法解析的外部符号 _recvfrom@24,该符号在函数 _main 中被引用
1>NetClient.obj : error LNK2019: 无法解析的外部符号 _sendto@24,该符号在函数 _main 中被引用
1>NetClient.obj : error LNK2019: 无法解析的外部符号 _htons@4,该符号在函数 _main 中被引用
1>NetClient.obj : error LNK2019: 无法解析的外部符号 _inet_addr@4,该符号在函数 _main 中被引用
1>NetClient.obj : error LNK2019: 无法解析的外部符号 _socket@12,该符号在函数 _main 中被引用
1>NetClient.obj : error LNK2019: 无法解析的外部符号 _WSACleanup@0,该符号在函数 _main 中被引用
1>NetClient.obj : error LNK2019: 无法解析的外部符号 _WSAStartup@8,该符号在函数 _main 中被引用
1>C:/My Documents/Visual Studio 2010/Projects/NetServer/Debug/NetClient.exe : fatal error LNK1120: 9 个无法解析的外部命令
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========


解决方法如下:


在CPP文件include语句之后加上如下代码:

 

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

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

 

这样就可以解决了。


工程设置:

在项目-->属性-->c/C++-->常规-->附加包含目录中,添加所用到的第三方库。

项目-->属性-->链接器-->常规-->附加库目录中,添加所要用的*.lib文件的路径,如:../Lib/Debug。

项目-->属性-->链接器-->输入-->附加依赖项中,添加用到的具体*.lib,*.dll文件。



打开vs2008,工具-->选项--》项目和解决方案-->VC++目录包含文件库文件中添加第三方库的相应文件目录。



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值