I tried to use the 64bit MinGW GCC compiler to compile the enigma suite ( http://www.bytereef.org/enigma-suite.html ). When I use the 32bit compiler everything works fine. With the 64bit one I get the following error:
enigma\global.h|6|error: expected identifier or '(' before numeric constant|
and the line in question is:
#define H 0
Out of curiosity I changed the line to
#define H3 0
and it works (of course after changing all appearances). Can anyone explain this behavior?
The MinGW 5.1 has header mingw32\\i686-w64-mingw32\\include\\winnt.h
. It contains structure definition with line 6889:
DWORD H : 1;
Of course, it is a problem if there is higher included header with #define H 0
.
MinGW 4.8 does not have such structure, so here it can be compiled.
The simple fix is to move #include <windows.h>
on top of hillclimb.c
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.