论坛: 编程破解 标题: 高手请帮忙!winsock编程时为什么会出现这种错误? 复制本贴地址    
作者: Danny [nuying117]    论坛用户   登录
我用vc建了一个win32 console application然后选择的是简单的小程序,代码为:
#include "stdafx.h"
#include "iostream.h"
#include "winsock2.h"

int main(int argc, char* argv[])
{
WSADATA wsadata;
if(WSAStartup(WINSOCK_VERSION,&wsadata)!=0)
{
cout <<"start up failed!" <<endl;
return 0;
}
    else
  cout <<"start up successfully!"<<endl;
WSACleanup();
return 0;
}
然后编译时通过,但是构件时却说:
Linking...
socket.obj : error LNK2001: unresolved external symbol __imp__WSACleanup@0
socket.obj : error LNK2001: unresolved external symbol __imp__WSAStartup@8
Debug/socket.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.
我的系统是winxp的,应该支持winsock2吧?可是我为什么没找到winsock2.dll呢?是否支持winsock2的,在system32下都有winsock2.dll呢?为什么我的只有winsock.dll???是否是因为我的系统因为没有winsock2.dll才会出现这种错误?

地主 发表时间: 10/11 20:58

回复: Danny [nuying117]   论坛用户   登录
为什么没人回答啊?

B1层 发表时间: 10/12 16:25

回复: 286 [unique]   版主   登录
在前面#include "winsock2.h"之后加上:
#pragma comment(lib,"ws2_32.lib")

B2层 发表时间: 10/13 13:14

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号