diff --git a/src/os/windows/crashlog_win.cpp b/src/os/windows/crashlog_win.cpp --- a/src/os/windows/crashlog_win.cpp +++ b/src/os/windows/crashlog_win.cpp @@ -10,12 +10,6 @@ /** @file crashlog_win.cpp Implementation of a crashlogger for Windows */ #include "../../stdafx.h" -#if defined(_MSC_VER) && defined(_M_AMD64) -/* Redefine WinNT version to get RtlCaptureContext prototype. */ -#undef _WIN32_WINNT -#undef NTDDI_VERSION -#define _WIN32_WINNT _WIN32_WINNT_WINXP -#endif /* defined(_MSC_VER) && defined(_M_AMD64) */ #include "../../crashlog.h" #include "win32.h" #include "../../core/alloc_func.hpp" diff --git a/src/stdafx.h b/src/stdafx.h --- a/src/stdafx.h +++ b/src/stdafx.h @@ -177,15 +177,24 @@ /* Stuff for MSVC */ #if defined(_MSC_VER) #pragma once - /* Define a win32 target platform, to override defaults of the SDK - * We need to define NTDDI version for Vista SDK, but win2k is minimum */ - #define NTDDI_VERSION NTDDI_WIN2K // Windows 2000 - #define _WIN32_WINNT 0x0500 // Windows 2000 - #define _WIN32_WINDOWS 0x400 // Windows 95 - #if !defined(WINCE) - #define WINVER 0x0400 // Windows NT 4.0 / Windows 95 + #ifdef _WIN64 + /* No 64-bit Windows below XP, so we can safely assume it as the target platform. */ + #define NTDDI_VERSION NTDDI_WINXP // Windows XP + #define _WIN32_WINNT 0x501 // Windows XP + #define _WIN32_WINDOWS 0x501 // Windows XP + #define WINVER 0x0501 // Windows XP + #define _WIN32_IE_ 0x0600 // 6.0 (XP+) + #else + /* Define a win32 target platform, to override defaults of the SDK + * We need to define NTDDI version for Vista SDK, but win2k is minimum */ + #define NTDDI_VERSION NTDDI_WIN2K // Windows 2000 + #define _WIN32_WINNT 0x0500 // Windows 2000 + #define _WIN32_WINDOWS 0x400 // Windows 95 + #if !defined(WINCE) + #define WINVER 0x0400 // Windows NT 4.0 / Windows 95 + #endif + #define _WIN32_IE_ 0x0401 // 4.01 (win98 and NT4SP5+) #endif - #define _WIN32_IE_ 0x0401 // 4.01 (win98 and NT4SP5+) #define NOMINMAX // Disable min/max macros in windows.h. #pragma warning(disable: 4244) // 'conversion' conversion from 'type1' to 'type2', possible loss of data