Subject: Re: [boost] [winapi] Default target Windows version
From: Sergey Cheban (s.cheban_at_[hidden])
Date: 2013-10-23 13:01:01
On 23.10.2013 19:14, Andrey Semashev wrote:
>> 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.
> Yes, that's what I meant. To put it another way, when vc12_xp is used, you
> cannot tell what OS is targeted - XP, Vista, 7, 8 or 8.1. vc12 only narrows
> the list, excluding XP.
> So, if I understand correctly, when you use a toolset you have to define the
> WinAPI version macro anyway, right?
Yes. But, on the other hand, we can safely set the default target to the lowest
target that is supported by the toolset.
Unfortunately, I see no easy way to support the _xp toolsets. As I understand,
the boost build uses vcvarsall.bat to set the INCLUDE and LIB variables, and
vcvarsall.bat doesn't support WinXP.
> Or maybe just using the toolset defines it
> somehow? In that case, no specific support for toolset detection is required
> from Boost - we can just deduce the WinAPI version like we currently do.
As I see, Windows XP is not a default target platform even for the _xp toolsets.
The _xp toolsets use the Windows SDK 7.1, and the default target for this SDK is
-- Sergey Cheban