快救命啊!!!我用VC编译的时候竟然说Winsock2.h里面的定义有错,而且还一大堆错。 有人碰到过没有???是不是我的设置没设好啊!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一般来说,肯定是你设置有误,更可能是因为你程序的连带错误。如果装了ntddk, sdk等,可以试着调整一下工程设置中include的次序。再说是好好看看你的程序中,有关编译的一些定义,与此头文件相关的部分有无错误 加入这行:#pragma comment(lib, "Ws2_32.lib") project->settings->link里面Object/library modules添加:Ws2_32.lib 那究竟是什么错呢???就那么几行,找来找去都找不到,我刚开始用的是sock1.1都没错,后来因为要用到sock2.0的一些功能,所以改用2.0,把头文件由winsock.h改为winsock2.h,输入库由wsock32.lib改为ws2_32.lib,结果一编译就跑出一大堆错。 我搞定了,把#include <winsock2.h>提到第一行就没事了,或者这么说:只要#include <winsock2.h>在#include <windows.h>之前就OK,否则就出错。还是不知道为什么?????就因为winsock2.h里也包含了windows.h吗?那样的话winsock2.h写的兼容性也太差了。无论如何,谢谢各位,人人都有分。:) MFC只支持winsock1.1的标准,不支持2.0的标准。所以你虽然可以用2.0的功能,却不能指望CAsyncSocket之类的使用2.0的功能。当你是用MFC Socket的时候,包含的是afxsock.h。在这个头文件里面包含的是winsock1.1的头文件(忘了文件名了,好像是winsock.h)。所以如果你是后加的 #include "winsock2.h"的话,就会出像一些定义等等的问题。解决的方法是将这一句加到 #include "afxsock.h"之前。这个时候 afxsock.h会因为winsock2.h中的定义,而略过 #include "winsock.h" 。通常这句话在你的工程文件的头文件里面,给与你工程名相同的头文件里面。 50分——求vc技术内幕 请高人帮忙看看内存泄露问题 为什么不能响应双击消息了? ADO的Execute函数在98下执行不成功的问题? 怎样写代码播放RM格式的音频文件? 找高手做程序! 不使用CView类,在对话框中如何实现打印位图图像? 请版主大人手下留情,高分寻找有Exchange开发经验或者这方面的资料? windows media player控件 求助,这个SCSI硬盘数据怎么读出来 需要通过学校的proxy, 怎样才能用CHttpFile读取http服务器的文件? ●●●●●关于用CFileDialog打开文件
#pragma comment(lib, "Ws2_32.lib")
里面Object/library modules
添加:Ws2_32.lib
或者这么说:
只要
#include <winsock2.h>
在
#include <windows.h>
之前就OK,否则就出错。还是不知道为什么?????就因为winsock2.h里也包含了windows.h吗?那样的话winsock2.h写的兼容性也太差了。无论如何,谢谢各位,人人都有分。:)