OK, that actually worked! I thought I had failed to write correct prototypes to "augment" what's missing in the pre-WIN10 Windows.h, but that wasn't the problem.
To recap what I learned here:
The WIN10 SDK isn't supported out of the box, but the missing functions
can still be used by doing the following:
1. Use polib to create a .lib with the missing functions.
2. Hack any needed prototypes into the code. For this example I did this:
---------------------------------------------------------------------------------------
#ifdef __POCC__
#define WIN32_DEFAULT_LIBS
#endif
#define WIN32_LEAN_AND_MEAN
#include <Windows.h>
#ifdef __POCC__
#define WIN32_DEFAULT_LIBS
typedef struct MEM_EXTENDED_PARAMETER {
struct {
DWORD64 Type;
DWORD64 Reserved;
} DUMMYSTRUCTNAME;
union {
DWORD64 ULong64;
PVOID Pointer;
SIZE_T Size;
HANDLE Handle;
DWORD ULong;
} DUMMYUNIONNAME;
} MEM_EXTENDED_PARAMETER, *PMEM_EXTENDED_PARAMETER;
PVOID VirtualAlloc2(
HANDLE Process,
PVOID BaseAddress,
SIZE_T Size,
ULONG AllocationType,
ULONG PageProtection,
MEM_EXTENDED_PARAMETER *ExtendedParameters,
ULONG ParameterCount
);
#endif
---------------------------------------------------------------------------------------
So I'm back to using Pelles after all!It's a bit of a pain to work around the missing functionality TBH, but at least I get to develop in a sensible IDE. I'll still need to make it compile on other compilers when it's done, but I won't have to do the entire development in a slow and bloated IDE that I hate...
Sorry for taking up so much time, but I seriously wouldn't have sorted this out without help.