Fixed compilation for the Windows XP API (#2611)

* Fixed compilation for the Windows XP API

Fixes #2137

Thanks to @zackdreaver

* Fixed Windows version initialization

Respecting the SDK's Windows version and only use our own defines if they are not set by the SDK, which should not happen.

Thanks to @lighta.

* Moved Windows Vista declaration up

This way all defines that should actually come from sdkddkver.h will be checked right behind it and defined if they were not.

* Reverted line deletion
This commit is contained in:
Lemongrass3110 2017-11-20 06:30:31 +01:00 committed by lighta
parent 4de727efbc
commit 60b5491766
2 changed files with 19 additions and 6 deletions

View File

@ -19,8 +19,8 @@
#if defined(_MSC_VER)
#include "winapi.h"
// This checks if C/C++ Compiler Version is 18.00
#if _MSC_VER < 1800
// This checks if C/C++ Compiler Version is 18.00 or Windows is older than Vista
#if _MSC_VER < 1800 || WINVER < _WIN32_WINNT_VISTA
#if !defined(_M_X64)
// When compiling for windows 32bit, the 8byte interlocked operations are not provided by microsoft

View File

@ -1,11 +1,24 @@
#pragma once
#include <sdkddkver.h>
#ifndef NTDDI_VERSION
#define NTDDI_VERSION 0x05000000 // Windows 2000
#endif
#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0500 // Windows 2000
#endif
#ifndef WINVER
#define WINVER 0x0500 // Windows 2000
#endif
#ifndef _WIN32_IE
#define _WIN32_IE 0x0600 // Internet Explorer 6.0
#endif
#ifndef _WIN32_WINNT_VISTA
#define _WIN32_WINNT_VISTA 0x0600 // Windows Vista
#endif
#define STRICT
#define NTDDI_VERSION NTDDI_WIN2K
#define _WIN32_WINNT 0x0500
#define WINVER 0x0500
#define _WIN32_IE 0x0600
#define WIN32_LEAN_AND_MEAN
#define NOCOMM
#define NOKANJI