Lee Doron created XERCESC-2033:
----------------------------------

             Summary: Define _WIN32_WINNT for min supported version of Windows
                 Key: XERCESC-2033
                 URL: https://issues.apache.org/jira/browse/XERCESC-2033
             Project: Xerces-C++
          Issue Type: Improvement
          Components: Build
    Affects Versions: 3.1.1
         Environment: Windows
            Reporter: Lee Doron
            Priority: Minor
             Fix For: 3.1.2


Microsoft makes changes to the Windows API with each OS release. These changes 
are reflected in the Windows SDK header files, which contain conditional code 
according to the minimum version of Windows you wish to support. This can be 
selected by defining preprocessor symbols -- see 
http://msdn.microsoft.com/en-us/library/aa383745.aspx. The macro _WIN32_WINNT 
is sufficient, or for finer granularity (by service pack), you can also define 
NTDDI_VERSION. When you don't define these, they get set in sdkddkver.h to the 
latest version supported by the SDK; for VS 2012, that's Windows 8.0. If you 
use any APIs that have changed in recent versions, then the DLL might not work 
properly with older versions of Windows (e.g. XP).

I haven't actually seen any failures with Xerces, which is why I didn't mark 
this as a bug, but I think you should add this symbol to the preprocessor 
definitions to be on the safe side. I did it quickly in the Visual Studio 
configuration, or it could be done in the source code before including 
<windows.h>.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to