新手求解决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





...全文
13 点赞 收藏 1
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
柯本 2011-09-25
少库了,最简方法,在main()前加
#pragma comment( lib,"Ws2_32.lib");
回复
相关推荐
发帖
非技术区
创建于2007-09-28

1.5w+

社区成员

C/C++ 非技术区
申请成为版主
帖子事件
创建了帖子
2011-09-25 12:29
社区公告
暂无公告