在连接服务器时遇到问题
用C写了一个连接网易服务器的程序,主要代码如下:void ShowError()
{ TCHAR* lpMsgBuf;
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER| //自动分配消息缓冲区
FORMAT_MESSAGE_FROM_SYSTEM, //从系统获取信息
NULL,GetLastError(), //获取错误信息标识
MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT),//使用系统缺省语言
(LPTSTR)&lpMsgBuf, //消息缓冲区
0,
NULL);
MessageBox(NULL,lpMsgBuf,"",MB_ICONERROR);
}
void SocketTest()
{ WSADATA wsaData;
WSAStartup(MAKEWORD(2,0),&wsaData);
SOCKET sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
SOCKADDR_IN sa;
sa.sin_family=AF_INET;
sa.sin_port = htons(IPPORT_SMTP);
sa.sin_addr.S_un.S_addr = inet_addr("123.125.50.135");
if(connect(sock,(SOCKADDR *)&sa,sizeof(sa))==SOCKET_ERROR)
{
ShowError();
return;
}
closesocket(sock);
WSACleanup();
}
在测试时出现如下错误:
ainDlg.obj : error LNK2001: unresolved external symbol __imp__WSACleanup@0
MainDlg.obj : error LNK2001: unresolved external symbol __imp__closesocket@4
MainDlg.obj : error LNK2001: unresolved external symbol __imp__connect@12
MainDlg.obj : error LNK2001: unresolved external symbol __imp__inet_addr@4
MainDlg.obj : error LNK2001: unresolved external symbol __imp__htons@4
MainDlg.obj : error LNK2001: unresolved external symbol __imp__socket@12
MainDlg.obj : error LNK2001: unresolved external symbol __imp__WSAStartup@8
Debug/第十一课.exe : fatal error LNK1120: 7 unresolved externals
执行 link.exe 时出错.
看了下别人的解释,应该是没有添加wsock32库吧,但是我不知道怎样添加这个wsock32库,因此请教大虾!
顺便问下,那个mingw主要用途是什么?呵呵 菜鸟 所以不懂..