未声明TITLEBARINFO的MinGW错误

时间:2012-11-23 13:48:03

标签: c++ windows gcc window mingw

我正在使用最新的MinGW:

MINGWBASEDIR=C:\mingw
gcc version 4.7.0 (GCC)
gcc version 4.7.0 (GCC)
GNU gdb (GDB) 7.5
GNU ld (GNU Binutils) 2.22
GNU windres (GNU Binutils) 2.22
GNU dlltool (GNU Binutils) 2.22
GNU Make 3.82.90
#define __MINGW32_VERSION 3.20
#define __W32API_VERSION 3.17

这是源文件(test.cpp):

#include <stdio.h>
#include <windows.h>

int main(int Argc,char** Args) {
  printf("%d",sizeof(TITLEBARINFO));
}

这是我编译它的方式:

g++ -c test.cpp

这是MinGW报告的错误消息:

C:\temp>g++ -c test.cpp
test.cpp: In function 'int main(int, char**)':
test.cpp:5:22: error: 'TITLEBARINFO' was not declared in this scope

TITLEBARINFO应该在win.h中声明,其中包含windows.h。 我在mingw / include dir中检查了这两个头文件,TITLEBARINFO的定义确实存在。但我仍然得到这个编译器错误,多么奇怪!

1 个答案:

答案 0 :(得分:1)

gcc -c -D_WIN32_WINDOWS=0x0410 test.cpp

MinGW显然默认为0x0400。