On 30 June 2012 07:17, Bram Moolenaar wrote:
> Is that the latest version of MingW? MEMORYSTATUSEX is a standard part
> of Windows XP and later.
>
> Hmm, I found a suggestion to put this before including windows.h:
>
> #define _WIN32_WINNT 0x0501
>
> We have never needed that for other features, thus I doubt that is the
> right solution.
It is the one possible solution, MEMORYSTATUSEX is defined by the
mingw.org compiler in winbase.h which is included by windows.h, and
looking at the definition:
#if (_WIN32_WINNT >= 0x0500)
typedef struct _MEMORYSTATUSEX {
DWORD dwLength;
DWORD dwMemoryLoad;
DWORDLONG ullTotalPhys;
DWORDLONG ullAvailPhys;
DWORDLONG ullTotalPageFile;
DWORDLONG ullAvailPageFile;
DWORDLONG ullTotalVirtual;
DWORDLONG ullAvailVirtual;
DWORDLONG ullAvailExtendedVirtual;
} MEMORYSTATUSEX,*LPMEMORYSTATUSEX;
#endif
The current w32api provided by mingw.org defines _WIN32_WINNT as
WINVER and WINVER is defined as 0x0400, so it won't pick up this
struct.
Another way this could be handled is by define _WIN32_WINNT in the
.mak files. In fact in the Make_ming.mak file WINVER is defined as:
# Set the default $(WINVER) to make it work with pre-Win2k
ifndef WINVER
WINVER = 0x0400
endif
So adjusting it in the source would be ineffective anyway, you should
just adjust WINVER in Make_ming.mak.
Cheers,
Chris
--
Chris Sutcliffe
http://emergedesktop.org
http://www.google.com/profiles/ir0nh34d
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php