据我所知,在C++项目中:
_WIN32_WINNT,WINVER和NTDDI_VERSION宏
如果我使用以下设置编译我的应用程序:
v140_xp(Visual Studio 2015 - Windows XP)StdAfh.h
#include <WinSDKVer.h>#define _WIN32_WINNT 0x0501#define WINVER 0x0501#define NTDDI_VERSION 0x05010000#include <SDKDDKVer.h>从我可以告诉,它看起来像目标平台版本是suposed是一种替代_WIN32_WINNT,WINVER和NTDDI_VERSION宏.奇怪的是,通过上面的配置,您可以将目标平台版本设置为1或99...并且编译器不会生成任何错误或警告.
这本让我纳闷:什么是目标平台版本呢?
当我从命令行使用msbuild构建VS2010时,是否可以从命令行将平台工具集更改为v90(即Visual Studio 2008工具链),而无需编辑vcxproj文件?
我目前在我的构建脚本中使用以下命令行:
mysystemf("msbuild %s.vcxproj /t:rebuild /p:configuration=release,platform=%s", prjname, platform);
Run Code Online (Sandbox Code Playgroud)