新手求解决LINK 2001问题

RX_SESSION 2011-09-25 12:29:25
新进学习C++的网络编程,自己写了一段代码如下:

#include<Winsock2.h>
#include<iostream>

int main()
{
SOCKET sListen=::socket(AF_INET,SOCK_STREAM,0);
if(sListen==INVALID_SOCKET)
{
printf("Failed socket()\n");
return 0;
}
sockaddr_in sin;
sin.sin_family=AF_INET;
sin.sin_port=htons(4567);
sin.sin_addr.S_un.S_addr=INADDR_ANY;
if(::bind(sListen,(LPSOCKADDR)&sin,sizeof(sin))==SOCKET_ERROR)
{
printf("Failed to bin()\n");
return 0;
}
if(::listen(sListen,2)==SOCKET_ERROR)
{
printf("Failed to listen()\n");
return 0;
}
sockaddr_in romote;
int nAddrLen=sizeof(romote);
SOCKET sClient;
char szText [] ="TCP Serve Demo!\r\n";
while(true)
{
sClient=::accept(sListen,(SOCKADDR*)&romote,&nAddrLen);
if(sClient==INVALID_SOCKET)
{
printf("Failed accept()\n");
continue;
}
printf("接收到一個鏈接: %s\r\n",inet_ntoa(romote.sin_addr));
::send(sClient,szText,strlen(szText),0);
::closesocket(sClient);
}
::closesocket(sListen);
return 0;
}
可是通过VC6.0编译是出现
Output Window
Compiling...
test.cpp
Linking...
test.obj : error LNK2001: unresolved external symbol __imp__closesocket@4
test.obj : error LNK2001: unresolved external symbol __imp__send@16
test.obj : error LNK2001: unresolved external symbol __imp__inet_ntoa@4
test.obj : error LNK2001: unresolved external symbol __imp__accept@12
test.obj : error LNK2001: unresolved external symbol __imp__listen@8
test.obj : error LNK2001: unresolved external symbol __imp__bind@12
test.obj : error LNK2001: unresolved external symbol __imp__htons@4
test.obj : error LNK2001: unresolved external symbol __imp__socket@12
Debug/TCP_test.exe : fatal error LNK1120: 8 unresolved externals
Error executing link.exe.



Results
TCP_test.exe - 9 error(s), 0 warning(s)
编译错误,烦求高手告知是什么原因造成的,本人是新手,告知原因的同时告知解决方法和以后怎么避免出现这种错误.
TKS





...全文
34 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
柯本 2011-09-25
  • 打赏
  • 举报
回复
少库了,最简方法,在main()前加
#pragma comment( lib,"Ws2_32.lib");

15,447

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧