error LNK2001: unresolved external symbol __imp__

例如:

NetClient.obj : error LNK2001: unresolved external symbol __imp__WSACleanup@0
NetClient.obj : error LNK2001: unresolved external symbol __imp__send@16
NetClient.obj : error LNK2001: unresolved external symbol __imp__recv@16
NetClient.obj : error LNK2001: unresolved external symbol __imp__connect@12
NetClient.obj : error LNK2001: unresolved external symbol __imp__htons@4
NetClient.obj : error LNK2001: unresolved external symbol __imp__closesocket@4
NetClient.obj : error LNK2001: unresolved external symbol __imp__gethostbyaddr@12
NetClient.obj : error LNK2001: unresolved external symbol __imp__gethostbyname@4
NetClient.obj : error LNK2001: unresolved external symbol __imp__inet_addr@4
NetClient.obj : error LNK2001: unresolved external symbol __imp__socket@12
NetClient.obj : error LNK2001: unresolved external symbol __imp__WSAStartup@8
Debug/NetClient.exe : fatal error LNK1120: 11 unresolved externals

明显是找不到相应函数,问题是Link选项里没有加入相应的lib库。

如本例,应在Link里加入ws2_32.lib。否则编译器无从寻找相应函数。

显示指定编译器链接某特定库的办法是:

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

其实ws2_32.lib是这个我要链接的库,如果你需要链接test.lib,方法是:

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

特定库的找到办法是看LNK2001中找不到的函数名,通过msdn或者其他手段获取这个函数所在的库名,链接进去就OK了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值