如何解决使用MinGW-w64在Win consoleapi中获取奇怪的struct和typedef错误
下面是编译日志。所有这些错误均来自Wincon.h或Wincontypes.h。其他一切,包括我的代码,都可以正常工作。我正在使用 MinGW-w64(v8.1.0),它没有为Winapi或ConsoleApi3提供任何错误。在这一点上我很无助。 Visual Studio(MSBuild)可以毫无问题地对其进行编译。
g++ MainConsole.cpp -o run -mconsole
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/ConsoleApi3.h:21,from F:\PROJECTS\gpge\GPGE\Dependencies.h:7,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/wincontypes.h:36:16: error: redefinition of 'struct _COORD'
typedef struct _COORD {
^~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/Windows.h:74,from F:\PROJECTS\gpge\GPGE\Dependencies.h:5,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wincon.h:17:18: note: previous definition of 'struct _COORD'
typedef struct _COORD {
^~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/Windows.h:74,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wincon.h:22:18: note: previous definition of 'struct _SMALL_RECT'
typedef struct _SMALL_RECT {
^~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/ConsoleApi3.h:21,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/wincontypes.h:46:3: error: conflicting declaration 'typedef int SMALL_RECT'
} SMALL_RECT,*PSMALL_RECT;
^~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/Windows.h:74,from MainConsole.cpp:6:
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/Windows.h:74,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wincon.h:27:17: note: previous declaration as 'typedef struct _SMALL_RECT* PSMALL_RECT'
} SMALL_RECT,*PSMALL_RECT;
^~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/Windows.h:74,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wincon.h:78:18: note: previous definition of 'struct _WINDOW_BUFFER_SIZE_RECORD'
typedef struct _WINDOW_BUFFER_SIZE_RECORD {
^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/ConsoleApi3.h:21,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/wincontypes.h:112:3: error: conflicting declaration 'typedef int WINDOW_BUFFER_SIZE_RECORD'
} WINDOW_BUFFER_SIZE_RECORD,*PWINDOW_BUFFER_SIZE_RECORD;
^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/Windows.h:74,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wincon.h:80:5: note: previous declaration as 'typedef struct _WINDOW_BUFFER_SIZE_RECORD WINDOW_BUFFER_SIZE_RECORD'
} WINDOW_BUFFER_SIZE_RECORD,*PWINDOW_BUFFER_SIZE_RECORD;
^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/ConsoleApi3.h:21,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/wincontypes.h:112:31: error: conflicting declaration 'typedef int* PWINDOW_BUFFER_SIZE_RECORD'
} WINDOW_BUFFER_SIZE_RECORD,*PWINDOW_BUFFER_SIZE_RECORD;
^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/Windows.h:74,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wincon.h:80:32: note: previous declaration as 'typedef struct _WINDOW_BUFFER_SIZE_RECORD* PWINDOW_BUFFER_SIZE_RECORD'
} WINDOW_BUFFER_SIZE_RECORD,*PWINDOW_BUFFER_SIZE_RECORD;
^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/ConsoleApi3.h:21,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/wincontypes.h:114:16: error: redefinition of 'struct _MENU_EVENT_RECORD'
typedef struct _MENU_EVENT_RECORD {
^~~~~~~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/Windows.h:74,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wincon.h:82:18: note: previous definition of 'struct _MENU_EVENT_RECORD'
typedef struct _MENU_EVENT_RECORD {
^~~~~~~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/ConsoleApi3.h:21,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/wincontypes.h:116:3: error: conflicting declaration 'typedef int MENU_EVENT_RECORD'
} MENU_EVENT_RECORD,*PMENU_EVENT_RECORD;
^~~~~~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/Windows.h:74,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wincon.h:84:5: note: previous declaration as 'typedef struct _MENU_EVENT_RECORD MENU_EVENT_RECORD'
} MENU_EVENT_RECORD,*PMENU_EVENT_RECORD;
^~~~~~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/ConsoleApi3.h:21,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/wincontypes.h:116:23: error: conflicting declaration 'typedef int* PMENU_EVENT_RECORD'
} MENU_EVENT_RECORD,*PMENU_EVENT_RECORD;
^~~~~~~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/Windows.h:74,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wincon.h:84:24: note: previous declaration as 'typedef struct _MENU_EVENT_RECORD* PMENU_EVENT_RECORD'
} MENU_EVENT_RECORD,*PMENU_EVENT_RECORD;
^~~~~~~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/ConsoleApi3.h:21,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/wincontypes.h:118:16: error: redefinition of 'struct _FOCUS_EVENT_RECORD'
typedef struct _FOCUS_EVENT_RECORD {
^~~~~~~~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/Windows.h:74,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wincon.h:86:18: note: previous definition of 'struct _FOCUS_EVENT_RECORD'
typedef struct _FOCUS_EVENT_RECORD {
^~~~~~~~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/ConsoleApi3.h:21,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/wincontypes.h:120:3: error: conflicting declaration 'typedef int FOCUS_EVENT_RECORD'
} FOCUS_EVENT_RECORD,*PFOCUS_EVENT_RECORD;
^~~~~~~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/Windows.h:74,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wincon.h:88:5: note: previous declaration as 'typedef struct _FOCUS_EVENT_RECORD FOCUS_EVENT_RECORD'
} FOCUS_EVENT_RECORD,*PFOCUS_EVENT_RECORD;
^~~~~~~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/ConsoleApi3.h:21,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/wincontypes.h:120:24: error: conflicting declaration 'typedef int* PFOCUS_EVENT_RECORD'
} FOCUS_EVENT_RECORD,*PFOCUS_EVENT_RECORD;
^~~~~~~~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/Windows.h:74,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wincon.h:88:25: note: previous declaration as 'typedef struct _FOCUS_EVENT_RECORD* PFOCUS_EVENT_RECORD'
} FOCUS_EVENT_RECORD,*PFOCUS_EVENT_RECORD;
^~~~~~~~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/ConsoleApi3.h:21,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/wincontypes.h:122:16: error: redefinition of 'struct _INPUT_RECORD'
typedef struct _INPUT_RECORD {
^~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/Windows.h:74,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wincon.h:90:18: note: previous definition of 'struct _INPUT_RECORD'
typedef struct _INPUT_RECORD {
^~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/ConsoleApi3.h:21,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/wincontypes.h:131:3: error: conflicting declaration 'typedef int INPUT_RECORD'
} INPUT_RECORD,*PINPUT_RECORD;
^~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/Windows.h:74,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wincon.h:99:5: note: previous declaration as 'typedef struct _INPUT_RECORD INPUT_RECORD'
} INPUT_RECORD,*PINPUT_RECORD;
^~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/ConsoleApi3.h:21,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/wincontypes.h:131:18: error: conflicting declaration 'typedef int* PINPUT_RECORD'
} INPUT_RECORD,*PINPUT_RECORD;
^~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/Windows.h:74,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wincon.h:99:19: note: previous declaration as 'typedef struct _INPUT_RECORD* PINPUT_RECORD'
} INPUT_RECORD,*PINPUT_RECORD;
^~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/ConsoleApi3.h:21,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/wincontypes.h:143:16: error: redefinition of 'struct _CHAR_INFO'
typedef struct _CHAR_INFO {
^~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/Windows.h:74,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wincon.h:107:18: note: previous definition of 'struct _CHAR_INFO'
typedef struct _CHAR_INFO {
^~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/ConsoleApi3.h:21,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/wincontypes.h:149:3: error: conflicting declaration 'typedef int CHAR_INFO'
} CHAR_INFO,*PCHAR_INFO;
^~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/Windows.h:74,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wincon.h:113:5: note: previous declaration as 'typedef struct _CHAR_INFO CHAR_INFO'
} CHAR_INFO,*PCHAR_INFO;
^~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/ConsoleApi3.h:21,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/wincontypes.h:149:15: error: conflicting declaration 'typedef int* PCHAR_INFO'
} CHAR_INFO,*PCHAR_INFO;
^~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/Windows.h:74,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wincon.h:113:16: note: previous declaration as 'typedef struct _CHAR_INFO* PCHAR_INFO'
} CHAR_INFO,*PCHAR_INFO;
^~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/ConsoleApi3.h:21,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/wincontypes.h:151:16: error: redefinition of 'struct _CONSOLE_FONT_INFO'
typedef struct _CONSOLE_FONT_INFO {
^~~~~~~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/Windows.h:74,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wincon.h:146:18: note: previous definition of 'struct _CONSOLE_FONT_INFO'
typedef struct _CONSOLE_FONT_INFO {
^~~~~~~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/ConsoleApi3.h:21,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/wincontypes.h:154:3: error: conflicting declaration 'typedef int CONSOLE_FONT_INFO'
} CONSOLE_FONT_INFO,*PCONSOLE_FONT_INFO;
^~~~~~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/Windows.h:74,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wincon.h:149:5: note: previous declaration as 'typedef struct _CONSOLE_FONT_INFO CONSOLE_FONT_INFO'
} CONSOLE_FONT_INFO,*PCONSOLE_FONT_INFO;
^~~~~~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/ConsoleApi3.h:21,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/wincontypes.h:154:23: error: conflicting declaration 'typedef int* PCONSOLE_FONT_INFO'
} CONSOLE_FONT_INFO,*PCONSOLE_FONT_INFO;
^~~~~~~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/Windows.h:74,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wincon.h:149:24: note: previous declaration as 'typedef struct _CONSOLE_FONT_INFO* PCONSOLE_FONT_INFO'
} CONSOLE_FONT_INFO,*PCONSOLE_FONT_INFO;
^~~~~~~~~~~~~~~~~~
In file included from F:\PROJECTS\gpge\GPGE\Dependencies.h:7,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/ConsoleApi3.h:66:16: error: redefinition of 'struct _CONSOLE_FONT_INFOEX'
typedef struct _CONSOLE_FONT_INFOEX {
^~~~~~~~~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/Windows.h:74,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wincon.h:297:16: note: previous definition of 'struct _CONSOLE_FONT_INFOEX'
typedef struct _CONSOLE_FONT_INFOEX {
^~~~~~~~~~~~~~~~~~~~
In file included from F:\PROJECTS\gpge\GPGE\Dependencies.h:7,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/ConsoleApi3.h:73:3: error: conflicting declaration 'typedef int CONSOLE_FONT_INFOEX'
} CONSOLE_FONT_INFOEX,*PCONSOLE_FONT_INFOEX;
^~~~~~~~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/Windows.h:74,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wincon.h:304:3: note: previous declaration as 'typedef struct _CONSOLE_FONT_INFOEX CONSOLE_FONT_INFOEX'
} CONSOLE_FONT_INFOEX,*PCONSOLE_FONT_INFOEX;
^~~~~~~~~~~~~~~~~~~
In file included from F:\PROJECTS\gpge\GPGE\Dependencies.h:7,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/ConsoleApi3.h:73:25: error: conflicting declaration 'typedef int* PCONSOLE_FONT_INFOEX'
} CONSOLE_FONT_INFOEX,*PCONSOLE_FONT_INFOEX;
^~~~~~~~~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/Windows.h:74,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wincon.h:304:25: note: previous declaration as 'typedef struct _CONSOLE_FONT_INFOEX* PCONSOLE_FONT_INFOEX'
} CONSOLE_FONT_INFOEX,*PCONSOLE_FONT_INFOEX;
^~~~~~~~~~~~~~~~~~~~
In file included from F:\PROJECTS\gpge\GPGE\Dependencies.h:7,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/ConsoleApi3.h:107:16: error: redefinition of 'struct _CONSOLE_SELECTION_INFO'
typedef struct _CONSOLE_SELECTION_INFO {
^~~~~~~~~~~~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/Windows.h:74,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wincon.h:151:18: note: previous definition of 'struct _CONSOLE_SELECTION_INFO'
typedef struct _CONSOLE_SELECTION_INFO {
^~~~~~~~~~~~~~~~~~~~~~~
In file included from F:\PROJECTS\gpge\GPGE\Dependencies.h:7,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/ConsoleApi3.h:111:3: error: conflicting declaration 'typedef int CONSOLE_SELECTION_INFO'
} CONSOLE_SELECTION_INFO,*PCONSOLE_SELECTION_INFO;
^~~~~~~~~~~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/Windows.h:74,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wincon.h:155:5: note: previous declaration as 'typedef struct _CONSOLE_SELECTION_INFO CONSOLE_SELECTION_INFO'
} CONSOLE_SELECTION_INFO,*PCONSOLE_SELECTION_INFO;
^~~~~~~~~~~~~~~~~~~~~~
In file included from F:\PROJECTS\gpge\GPGE\Dependencies.h:7,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/ConsoleApi3.h:111:28: error: conflicting declaration 'typedef int* PCONSOLE_SELECTION_INFO'
} CONSOLE_SELECTION_INFO,*PCONSOLE_SELECTION_INFO;
^~~~~~~~~~~~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/Windows.h:74,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wincon.h:155:29: note: previous declaration as 'typedef struct _CONSOLE_SELECTION_INFO* PCONSOLE_SELECTION_INFO'
} CONSOLE_SELECTION_INFO,*PCONSOLE_SELECTION_INFO;
^~~~~~~~~~~~~~~~~~~~~~~
In file included from F:\PROJECTS\gpge\GPGE\Dependencies.h:7,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/ConsoleApi3.h:127:16: error: redefinition of 'struct _CONSOLE_HISTORY_INFO'
typedef struct _CONSOLE_HISTORY_INFO {
^~~~~~~~~~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/Windows.h:74,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wincon.h:306:16: note: previous definition of 'struct _CONSOLE_HISTORY_INFO'
typedef struct _CONSOLE_HISTORY_INFO {
^~~~~~~~~~~~~~~~~~~~~
In file included from F:\PROJECTS\gpge\GPGE\Dependencies.h:7,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/ConsoleApi3.h:132:3: error: conflicting declaration 'typedef int CONSOLE_HISTORY_INFO'
} CONSOLE_HISTORY_INFO,*PCONSOLE_HISTORY_INFO;
^~~~~~~~~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/Windows.h:74,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wincon.h:311:3: note: previous declaration as 'typedef struct _CONSOLE_HISTORY_INFO CONSOLE_HISTORY_INFO'
} CONSOLE_HISTORY_INFO,*PCONSOLE_HISTORY_INFO;
^~~~~~~~~~~~~~~~~~~~
In file included from F:\PROJECTS\gpge\GPGE\Dependencies.h:7,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/ConsoleApi3.h:132:26: error: conflicting declaration 'typedef int* PCONSOLE_HISTORY_INFO'
} CONSOLE_HISTORY_INFO,*PCONSOLE_HISTORY_INFO;
^~~~~~~~~~~~~~~~~~~~~
In file included from C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/Windows.h:74,from MainConsole.cpp:6:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/wincon.h:311:26: note: previous declaration as 'typedef struct _CONSOLE_HISTORY_INFO* PCONSOLE_HISTORY_INFO'
} CONSOLE_HISTORY_INFO,*PCONSOLE_HISTORY_INFO;
解决方法
“ AFAIK,如果您包含“ Windows.h”,则无需显式包含“ ConsoleApi3.h”。mingw标头可能存在一些问题,但更可能是由某些原因引起的您的代码在包含这些标头之前执行的操作。” -@molbdnilo已解决。这对我来说是新的,看起来MSBuild在编译之前检查了重叠部分,而MinGW却没有。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。