#include <winsock2.h>报错的问题

#define PORT 5150

#define DATA_BUFSIZE 8192

typedef struct _SOCKET_INFORMATION {

CHAR Buffer[DATA_BUFSIZE];

WSABUF DataBuf;

SOCKET Socket;

WSAOVERLAPPED Overlapped;

DWORD BytesSEND;

DWORD BytesRECV;

} SOCKET_INFORMATION, * LPSOCKET_INFORMATION;

DWORD WINAPI ProcessIO(LPVOID lpParameter);

DWORD EventTotal = 0;

WSAEVENT EventArray[WSA_MAXIMUM_WAIT_EVENTS];

LPSOCKET_INFORMATION SocketArray[WSA_MAXIMUM_WAIT_EVENTS];

CRITICAL_SECTION CriticalSection;

以上数据需要包含文件#include <winsock2.h>

如果包含顺序为:

#include <stdio.h>

#include <windows.h>

#include <commctrl.h>

#include <winsock2.h>

#include "resource.h"

#include "Definition.h"

那么会出现一大堆错误,如下

1>c:\program files\microsoft sdks\windows\v7.0a\include\ws2def.h(91): warning C4005: “AF_IPX”: 宏重定义

1> c:\program files\microsoft sdks\windows\v7.0a\include\winsock.h(460) : 参见“AF_IPX”的前一个定义

1>c:\program files\microsoft sdks\windows\v7.0a\include\ws2def.h(131): warning C4005: “AF_MAX”: 宏重定义

1> c:\program files\microsoft sdks\windows\v7.0a\include\winsock.h(479) : 参见“AF_MAX”的前一个定义

1>c:\program files\microsoft sdks\windows\v7.0a\include\ws2def.h(168): warning C4005: “SO_DONTLINGER”: 宏重定义

1> c:\program files\microsoft sdks\windows\v7.0a\include\winsock.h(402) : 参见“SO_DONTLINGER”的前一个定义

1>c:\program files\microsoft sdks\windows\v7.0a\include\ws2def.h(212): error C2011: “sockaddr”:“struct”类型重定义

1> c:\program files\microsoft sdks\windows\v7.0a\include\winsock.h(485) : 参见“sockaddr”的声明

1>c:\program files\microsoft sdks\windows\v7.0a\include\ws2def.h(390): error C2059: 语法错误:“常量”

1>c:\program files\microsoft sdks\windows\v7.0a\include\ws2def.h(390): error C3805: “常量”: 意外标记,应输入“}”或者“,”

1>c:\program files\microsoft sdks\windows\v7.0a\include\ws2def.h(524): warning C4005: “IN_CLASSA”: 宏重定义

1> c:\program files\microsoft sdks\windows\v7.0a\include\winsock.h(287) : 参见“IN_CLASSA”的前一个定义

1>c:\program files\microsoft sdks\windows\v7.0a\include\ws2def.h(530): warning C4005: “IN_CLASSB”: 宏重定义

1> c:\program files\microsoft sdks\windows\v7.0a\include\winsock.h(293) : 参见“IN_CLASSB”的前一个定义

1>c:\program files\microsoft sdks\windows\v7.0a\include\ws2def.h(536): warning C4005: “IN_CLASSC”: 宏重定义

*

*

*

*

*

*

现在将包含顺序改为:

包含顺序为:

#include <winsock2.h>

#include <stdio.h>

#include <windows.h>

#include <commctrl.h>

#include "resource.h"

#include "Definition.h"

那么将没有任何编译错误。

编译环境:VS2010

时间: 2024-12-12 13:01:04

#include <winsock2.h>报错的问题的相关文章

OBS---环境配置之#include &lt;D3DX10.h&gt;报错

一.先贴错误 因为这个笔记主要记录我如何整好这个OBS源码环境的,给需要的童鞋一个参考 1.1.#include <D3DX10.h>  报错 没有这个 解决方案:把2,3先解决了就水到渠成 1.2.安装DirectX报错:    Setup failed   Errors were encountered during installation of redistributeable packages  Please close all open programs and try runni

爬取图片过程遇到的ValueError: Missing scheme in request url: h 报错与解决方法

一 .scrapy整体框架 1.1 scrapy框架图 1.2 scrapy框架各结构解析 item:保存抓取的内容 spider:定义抓取内容的规则,也是我们主要编辑的文件 pipelines:管道作用,用来定义如何过滤.存储等功能(比如导出到csv或者mysql等功能) settings:配置例如ITEM_PIPELINES .图片存储位置等等功能 middlewares:下载器中间件是在引擎及下载器之间的特定钩子(specific hook),处理Downloader传递给引擎的respo

gl.h报错

以下内容摘自:http://blog.csdn.net/kaphen/article/details/24721999 头文件只有#include <gl\gl.h> //OpenGL Header #include <gl\glu.h> //GLu32 Header 时候出现以下错误 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\gl\gl.h(1152): error C2144: 语法错

包含Winsock2.h出错问题

工程中添加 Winsock2.h 报错 1>c:\program files (x86)\windows kits\8.1\include\shared\ws2def.h(100): warning C4005: 'AF_IPX' : macro redefinition1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(452) : see previous definition of 'AF_IPX'1>c:

phonegap archive 报错 Cordova/CDVViewController.h&#39; file not found

在BuildSettings->Header Search Paths  增加如下路径,问题解决 $(OBJROOT)/UninstalledProducts/include phonegap archive 报错 Cordova/CDVViewController.h' file not found

CHandleMap::RemoveHandle(HANDLE h) 内断言报错

在做多线程的时候出现的错误,其实问题是出在别的地方.下面时出现的断言错误的地方 原错误代码: //绘制绿球 if (m_Isgreenball) { CDC *pDC = m_greenrect.GetDC(); CBrush *poldbrush; CBrush newbrush(RGB(0,255,0)); poldbrush=pDC->SelectObject(&newbrush); pDC->Ellipse(greenball.pos,0,greenball.pos+green

VC中编译报错:error C2011: &#39;fd_set&#39; : &#39;struct&#39; type redefinition

这是头文件包含顺序的问题,原因与解决办法见下面代码的注释. /* 包含下面这两个头文件时,必须把winsock2.h放在前面 否则编译报错,N多的重定义错误:例如 error C2011: 'fd_set' : 'struct' type redefinition */ #include <WinSock2.h> #include <Windows.h> int main(int argc, _TCHAR* argv[]) { Sleep(1); return 0; } 其实可以不

关于编译报错“dereferencing pointer to incomplete type...

今天同事问了我一个问题,他make的时候报错,“第201行:dereferencing pointer to incomplete type”,我随即查阅了很多资料,也没看出个所以然.最后问题得到了解决,也懂得了原理,遂记录一下. 他的问题具体是这样. ? 1 2 3 4 5 6 #include <netinet/ip_icmp.h> ... struct icmp* aaa;     aaa = (struct icmp*)malloc(sizeof(struct icmp)); //假设

windows 网络编程报错 error LNK2019

我当时很困惑, 因为根本就是照抄书上的代码, 而且代码也异常的简单, 头文件也都引入了, 可是仍然显示: 1>源.obj : error LNK2019: 无法解析的外部符号 [email protected],该符号在函数 _main 中被引用1>源.obj : error LNK2019: 无法解析的外部符号 [email protected],该符号在函数 _main 中被引用1>源.obj : error LNK2019: 无法解析的外部符号 [email protected],