Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2012 无法识别BITMAPFILEHEADER和BitMapInfo Header_Visual Studio 2012_Visual C++ 2012 - Fatal编程技术网

Visual studio 2012 无法识别BITMAPFILEHEADER和BitMapInfo Header

Visual studio 2012 无法识别BITMAPFILEHEADER和BitMapInfo Header,visual-studio-2012,visual-c++-2012,Visual Studio 2012,Visual C++ 2012,我有一个Win32构建的Visual Studio 2012构建的vcxproj项目。该代码在头中定义了位图头结构并集。联合定义在应用程序的头中设置。问题是标头无法识别BITMAPFILEHEADER和BitMapInfo标头。我添加了#包括WinGDI.h和Windows.h,但它仍然无法识别 union MY_BITMAP { struct BITMAPFILEHEADER bmf; struct BITMAPINFOHEADER bmi; }; 我试图更改C/C++预处

我有一个Win32构建的Visual Studio 2012构建的vcxproj项目。该代码在头中定义了位图头结构并集。联合定义在应用程序的头中设置。问题是标头无法识别BITMAPFILEHEADER和BitMapInfo标头。我添加了#包括WinGDI.h和Windows.h,但它仍然无法识别

union MY_BITMAP
{
    struct BITMAPFILEHEADER bmf;
    struct BITMAPINFOHEADER  bmi;
};
我试图更改C/C++预处理器的定义,并添加了以下代码,但仍然不起作用

_WIN32_WINNT=0x0601
我需要什么设置才能使编译器知道定义


另外,根据@RetiredInja的评论,我收到的bmf和bmi的错误都是C2079。

您包括了Windows.h?您是否尝试过删除声明前面的
struct
。@RetiredInja是的,我也包括了它。更新问题。您应该将看到的确切编译错误添加到问题中。没有结构,它对我来说很好。不确定你是否编译C或C++代码,因为你没有指定或适当地标记问题。@ SydReNejia我只得到C2079:对于MyB-ButMex::BMF和MyBBITMAP::BMI。我注意到,当我删除联合定义中的关键字“struct”时,错误消失了。在union定义中添加struct而不添加struct的语法是否有差异?