Boost logo

Boost :

Subject: Re: [boost] [winapi] Default target Windows version
From: Edward Diener (eldiener_at_[hidden])
Date: 2013-10-23 16:12:01


On 10/23/2013 10:47 AM, Sergey Cheban wrote:
> On 23.10.2013 17:21, Andrey Semashev wrote:
>
>> I don't think that the compiler or toolset used to build the application
>> should determine the target platform, unless the particular toolset is
>> not
>> able to target the particular platform. Versions of the target OS and the
>> toolset are not related in general. I mean, I can use whatever version
>> of GCC
>> or Intel compiler to build for any Windows, so why should MSVC be
>> different?
> In the msbuild world, the toolset is not just a compiler. The msbuild
> toolsets consist of:
> - the specific version of the compiler(s)
> - the specific version of the Windows SDK
> - the specific versions of the CRT, ATL and MFC

A specific version of VC++ determines the CRT, ATL, MFC, and the Windows
SDK being used. The Windows SDK being used allows you to target an OS
via the _WIN32_WINNT macro.

>
> The toolset does not completely determine the target platform. You can
> compile for different platforms (x86/x64, Win32/WinRT) with the same
> vc12 toolset. But if you need the WinXP support, you have to use the xp
> compatible version of the CRT. So, you need the vc12_xp toolset.

All that the VC++12 xp build does is allow your program to run under
Windows XP. Without that configuration your program will fail if running
under Windows XP. It may also set the _WIN32_WINNT macro automatically.
You should try it out to see if it does.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk