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 dirにあるこれら2つのヘッダーファイルを確認しましたが、TITLEBARINFOの定義は本当にそこにあります。しかし、私はまだこのコンパイラエラーを受け取ります、なんて奇妙なことでしょう!

4

1 に答える 1

1

gcc -c -D_WIN32_WINDOWS=0x0410 test.cpp

MinGWのデフォルトは明らかに0x0400です。

于 2012-11-23T14:02:07.227 に答える