0

我正在使用最新的 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 应该在 windows.h 包含的 winuser.h 中声明。我在 mingw/include 目录中检查了这两个头文件,TITLEBARINFO 的定义确实存在。但是我仍然得到这个编译器错误,多么奇怪!

4

1 回答 1

1

gcc -c -D_WIN32_WINDOWS=0x0410 test.cpp

MinGW 显然默认为 0x0400。

于 2012-11-23T14:02:07.227 回答