Hey there,
After quite a while away from modding ioq3 I’ve been trying to set up mingw etc on my new Windows 8.1 PC. Previously I had been compiling on XP without any issue, but now on the new computer I’m getting an error during compiling that I haven’t had before… even with exactly the same mingw files and with builds straight from the ioq3 repository. See below:
make[1]: Entering directory `/c/ioq3-master'
Building in build/release-mingw32-x86:
  PLATFORM: mingw32
  ARCH: x86
  VERSION: 1.36
  COMPILE_PLATFORM: mingw32
  COMPILE_ARCH: x86
  CC: cc
  WINDRES: windres
  CFLAGS:
    -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes -DUSE_ICON
    -DWINVER=0x501 -m32 -DNO_GZIP -Icode/zlib -DUSE_INTERNAL_JPEG
    -Icode/jpeg-8c -DUSE_LOCAL_HEADERS -DPRODUCT_VERSION="1.36" -Wformat=2
    -Wno-format-zero-length -Wformat-security -Wno-format-nonliteral
    -Wstrict-aliasing=2 -Wmissing-format-attribute -Wdisabled-optimization
    -Werror-implicit-function-declaration -MMD -DNDEBUG -O3 -march=i586
    -ffast-math
  CLIENT_CFLAGS:
    -DCURL_STATICLIB -Icode/SDL2/include -DUSE_OPENAL -DUSE_OPENAL_DLOPEN
    -DUSE_CURL -DUSE_CODEC_OPUS -DOPUS_BUILD -DHAVE_LRINTF -DFLOATING_POINT
    -DUSE_ALLOCA -Icode/opus-1.1/include -Icode/opus-1.1/celt
    -Icode/opus-1.1/silk -Icode/opus-1.1/silk/float -Icode/opusfile-0.5/include
    -Icode/libogg-1.3.1/include -DUSE_RENDERER_DLOPEN -DUSE_MUMBLE -DUSE_VOIP
    -DFLOATING_POINT -DUSE_ALLOCA -Icode/libspeex/include
  SERVER_CFLAGS:
    -DUSE_VOIP
  LDFLAGS:
  LIBS:
    -lws2_32 -lwinmm -lpsapi
  CLIENT_LIBS:
    -lgdi32 -lole32 code/libs/win32/libcurl.a -lmingw32
    code/libs/win32/libSDL2main.a code/libs/win32/libSDL2.dll.a
  Output:
    ioq3ded.x86.exe
    ioquake3.x86.exe
    renderer_opengl1_x86.dll
    renderer_opengl2_x86.dll
    baseq3/cgamex86.dll
    baseq3/qagamex86.dll
    baseq3/uix86.dll
    missionpack/cgamex86.dll
    missionpack/qagamex86.dll
    missionpack/uix86.dll
    baseq3/vm/cgame.qvm
    baseq3/vm/qagame.qvm
    baseq3/vm/ui.qvm
    missionpack/vm/cgame.qvm
    missionpack/vm/qagame.qvm
    missionpack/vm/ui.qvm
    SDL2.dll
make[2]: Entering directory `/c/ioq3-master'
make[2]: `build/release-mingw32-x86/ioq3ded.x86.exe' is up to date.
make[2]: `build/release-mingw32-x86/ioquake3.x86.exe' is up to date.
make[2]: `build/release-mingw32-x86/renderer_opengl1_x86.dll' is up to date.
make[2]: `build/release-mingw32-x86/renderer_opengl2_x86.dll' is up to date.
make[2]: `build/release-mingw32-x86/baseq3/cgamex86.dll' is up to date.
make[2]: `build/release-mingw32-x86/baseq3/qagamex86.dll' is up to date.
UI_CC code/q3_ui/ui_main.c
<command-line>:0:4: error: expected identifier or '(' before numeric constant
code/q3_ui/../qcommon/q_shared.h:190:15: note: in expansion of macro 'ui'
  unsigned int ui;
               ^
In file included from code/q3_ui/ui_local.h:26:0,
                 from code/q3_ui/ui_main.c:32:
code/q3_ui/../qcommon/q_shared.h:191:1: warning: no semicolon at end of struct o
r union [enabled by default]
 } floatint_t;
 ^
make[2]: *** [build/release-mingw32-x86/baseq3/ui/ui_main.o] Error 1
make[2]: Leaving directory `/c/ioq3-master'
make[1]: *** [targets] Error 2
make[1]: Leaving directory `/c/ioq3-master'
make: *** [release] Error 2
So it seems to be an issue as soon as it gets to doing q3_ui. I have no idea what is causing this but it’s the same error regardless of whether I’m trying to compile ioq3 or heavily modified ioq3 forks. Is this a known issue with Win 8.1 or am I doing something wrong here? Thanks.