From: Vadim Zeitlin Date: Thu, 9 Sep 2004 14:33:02 +0000 (+0000) Subject: define WINVER as 0x0400 for VC++ 6 because its headers give a warning if WINVER ... X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/664df6e951dc9c91de379d96b3d2089630f7e8e4?ds=inline define WINVER as 0x0400 for VC++ 6 because its headers give a warning if WINVER >= 0x0500 is used and are generally broken for higher WINVER values git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29057 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/platform.h b/include/wx/platform.h index 359cb4a3b6..6623815e5b 100644 --- a/include/wx/platform.h +++ b/include/wx/platform.h @@ -95,16 +95,41 @@ # endif /* - see MSDN for the description of possible WINVER values, this one is the - highest one defined right now (Windows Server 2003) and we use it unless - it was explicitly overridden by the user to disable recent features - support as we check for all of the features we use which could be not - available on earlier Windows systems during run-time anyhow, so there is - almost no disadvantage in using it. - */ -# ifndef WINVER -# define WINVER 0x0502 -# endif + The library user may override the default setting of WINVER by defining + it in his own makefile or project file -- if it is defined, we don't + touch it at all. + + It makes sense to define WINVER as: + - either some lowish value (e.g. 0x0302) to not even compile in the + features not available in Windows version lower than some given + one + - or to a higher value than the one used by default for the given + compiler if you updated its headers to newer version of Platform + SDK, e.g. VC6 ships with 0x0400 headers by default but may also + work with 0x0500 headers and beyond + */ +# ifndef WINVER +# if defined(_MSC_VER) && _MSC_VER < 1300 + /* + VC6 defines some stuff in its default headers which is normally + only present if WINVER >= 0x0500 (FLASHW_XXX constants) which + means that our usual tests not involving WINVER sometimes fail + with it, hence explicitly define a lower WINVER value for it. + */ +# define WINVER 0x0400 +# else /* !VC++ 6 */ + /* + see MSDN for the description of possible WINVER values, this one + is the highest one defined right now (Windows Server 2003) and + we use it unless it was explicitly overridden by the user to + disable recent features support as we check for all of the + features we use which could be not available on earlier Windows + systems during run-time anyhow, so there is almost no + disadvantage in using it. + */ +# define WINVER 0x0502 +# endif /* VC++ 6/!VC++6 */ +# endif /* Win95 means Win95-style UI, i.e. Win9x/NT 4+ */ # if !defined(__WIN95__) && (WINVER >= 0x0400)