1目标平台 / 目标平台版本:
项目的当前目标平台/目标平台的版本
举例说明:windows / windows10。。而在本人的vs2015中,有2个选项:10.0.14393.0 和8.1
与项目文件(*.vcxproj) 中条目对应关系:目标平台版本 对应 <PropertyGroup Label="Globals">中的WindowsTargetPlatformVersion; 目标平台没有对应项目:估计在目标平台版本中已有体现,就不另外显示了。
2.平台工具集(platform toolset):
The Windows Driver Kit (WDK) takes advantage of the MSBuild platform toolset feature to provide tools and libraries that are specific to driver development. The MSBuild platform toolset feature is extensible. The specific version of the platform toolset that you want to use is controlled by an MSBuild property called PlatformToolset.
其中可选值中不明确、不能望文生义的是: Visual Studio 2013 (v120) Use for any type of Windows application (default). -这个是需要跟前几个区别:前几个都跟driver有关
如输入(注意不是选择)wkmd81.(windows kernel mode driver),则不知为何显示为 wkmd8.1(未安装)。。明显我安装的有啊。。这时如果选择wkmd10,则条目3会出现在driver settings中,否则driver setting都不会出现。。另外需要特别注意的是:即使它显示wkmd81.为未安装,但实际上因为我有安装过、所以还是会正常build的。
与项目文件(*.vcxproj) 中条目对应关系:<PropertyGroup Condition="‘$(Configuration)|$(Platform)‘==‘win8.1debug|Win32‘" Label="Configuration">中的PlatformToolset
该条目最清晰、没有歧义,意为:用到环境是什么。
3.**只有驱动会用到** 目标操作系统和目标平台
target OS version: target OS version the driver is built for;
target platform: platform the device driver target for. Universal driver targets all windows edition.
在本人的vs2015中,target OS version 有4个选项:win10 or higer, win8.1,win8, win7..
与项目文件(*.vcxproj) 中条目对应关系:<PropertyGroup Condition="‘$(Configuration)|$(Platform)‘==‘win8.1debug|Win32‘" Label="Configuration">中的<TargetVersion>Windows7</TargetVersion>和<DriverTargetPlatform>Desktop</DriverTargetPlatform>
这个跟上述条目1字面上有点混,目前自己的理解是:如做驱动项目,这个必须准确设置-实际也就驱动项目,才会在项目属性选择中出现 driver setting这个包含本条目的属性。
猜想1:上述条目1跟驱动开发没啥关系?
猜想2:自己vs2013升级的文件过滤驱动驱动项目,在社区版vs2015中,也能看到上述条目3;而自己虚拟盘项目可能是来自vs2013之前的缘故,所以同样在社区版vs2015中,没有对应条目?
综上,可能是vs2013之后把驱动项目和非驱动项目都混在一起做项目设置的关系吧,需要在不同的设置条目下考虑:到底这个条目是给 驱动还是非驱动项目用的?
参考资料:
Windows 10 WDK and Visual Studio 2015 – OSR
Building Drivers for Different Versions of Windows | Microsoft Docs
Building a Driver with the WDK | Microsoft Docs