源代码 编译该工程,提示错误 error C2011: 'MIMainInfo' : 'struct' type redefinition 解决方法1: 去除文件 pubdef.h中的头文件,编译通过,执行通过 解决方法2: 去除文件 funtest.c中的头文件 #include "MInfo.h" ,编译通过,执行通过 解决方法3: 去除文件 funtest.c中的头文件 #include "pubdef.h" ,...
因为windows.h中包含了<winsock.h>,这个是早期版本(windows socket 1.1)的windows socket 的头文件,而当你自己的文件中因使用最新版本windows socket的函数,需要包含 winsock2.h。而这两个版本都定义fd_set一系列的结构和函数,所以就出现这样的问题。 好,我们看下windows.h的定义,其实看一下这个定义就知道导致问题...
' : 'struct' type redefinition 经过调查,发现是由于我原来工程引入的windows.h和winsock2.h冲突,引发了重定义错误。 附上解决方案:一、官方备注解决方案: 使用宏#defineWIN32_LEAN_AND_MEAN参考文档:WIN32_LEAN_AND_MEAN宏的官网示例 二、头文件先后顺序调整在包含windows.h前,先包含winsock2.h ...
在c语言中,对同一个变量或者函数进行多次声明是不会报错的。所以如果h文件里只是进行了声明工作,即使不使用# ifndef宏定义,一个c文件多次包含同一个h文件也不会报错。 但是在c++语言中,#ifndef的作用域只是在单个文件中。所以如果h文件里定义了全局变量,即使采用#ifndef宏定义,一个c文件包含同一个h文件多次还是会...
重复定义了,可能是你在其他头文件中多次引用这个定义头文件 解决办法,#if !define STRUCT_THISHEAD define STRUCT_THISHEAD
1>c:\users\daiyue\documents\visual studio 2010\projects\xmldomfromvc3\xmldomfromvc2\xmldomfromvc\GATrainingDlg.h(7): error C2011: 'Styles' : 'struct' type redefinition 1> c:\users\daiyue\documents\visual studio 2010\projects\xmldomfromvc3\xmldomfromvc2\xmldomfromvc\XMLDOMFromVCDlg.h(35...
解决error C2011: 'fd_set' : 'struct' type redefinition问题 在所有的#include <windows.h>前使用#define WIN32_LEAN_AND_MEAN,如: #defineWIN32_LEAN_AND_MEAN #include<windows.h
typedef struct tagBITMAP { LONG bmType;LONG bmWidth;LONG bmHeight;LONG bmWidthBytes;WORD bmPlanes;WORD bmBitsPixel;LPVOID bmBits;} BITMAP, *PBITMAP;你再定义,就重复了。如果你的目的 只是 给tagBITMAP 定义 新的别名 “BIEMAP”。你只需要写:typedef struct tagBIT...
提示你的错误是“重复定义”,因为 MOUSEMSG 已经有了,而你又一次定义了。看样子你用的是 vc + easyx 写图形程序,那么你只需要删掉 struct MOUSEMSG 这个结构体的定义就好了。
这个问题没有了,又出了新的问题,一下子跳出了很多error C2011。 就像这个一样 error C2011: 'fd_set' : 'struct' type redefinition,而且还有提示winsock.h和winsock2.h中的定义冲突macro redefinition。 开始以为这个问题就是重复定义,可以找了半天没有发现winsock2.h的影子,就很奇怪,查了网上的帖子也没有发...