【问题标题】:Windows SDK 8: Confusion Regarding Install Location, folder nomenclature and WindowsSdkDir_old env variableWindows SDK 8:关于安装位置、文件夹命名法和 WindowsSdkDir_old 环境变量的混淆
【发布时间】:2012-12-14 12:26:44
【问题描述】:

在使用 Visual Studio 2012 构建系统时,我意识到,与以前的 SDK 版本不同,Windows SDK 8 安装在两个不同的位置

C:\Program Files (x86)\Windows Kits\8.0\ - Everything sans .NET 4.5 

如中所述

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v8.0\InstallationFolder

C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\

如中所述

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v8.0A\InstallationFolder

微软似乎已将 Core SDK 与 .NET Framework 分离

我也尝试与如何关联

 *    %VS_HOME%\VC\bin\vcvars32.bat
 *    %VS_HOME%\VC\bin\x86_amd64\vcvarsx86_amd64.bat
 *    %VS_HOME%\VC\bin\amd64\vcvarsamd64.bat

现在正在工作,而且似乎它指的是带有 WindowsSdkDir_old 的 .NET 4.5 框架位置

我意识到的其他有趣的事情是

  1. %WindowsSdkDir%\Include 具有三个层次结构:Shared、um 和 WinRT
  2. Windows SDK 是随 VS 2010 单独安装的,但对于 VS 2012,我必须单独安装。

所以我的问题是

  1. 将 .NET 4.5 与核心 SDK 分开是否有任何具体原因?
  2. 将 .NET 4.5 安装位置称为 WindowsSdkDir_old 的原因是什么
  3. 为什么 Windows SDK 8.0A 不是 VS 2012 安装包的一部分?
  4. 我可以继续在 VS 2012 中使用 Windows SDK 7.1A 吗?
  5. 包含路径 %WindowsSdkDir%\Include[Shared| 的意义是什么?嗯| WInRT] ?

【问题讨论】:

  • 找到这些问题的真正答案的可能性与找出辛诺夫斯基真正退出原因的几率相当。

标签: c++ windows visual-studio winapi


【解决方案1】:

按顺序...

  1. .NET 由不同的内部组织(开发部门)构建; SDK 由 Windows 构建。
  2. 不知道
  3. Visual Studio 从不安装任何 Windows SDK。 SDK 中有数 GB 的示例和工具不属于 Visual Studio。
  4. 是的,以前版本的 Windows SDK 可以在 VS 2012 中正常工作。
  5. 不确定um,但WinRT 文件是特定于Windows 运行时的,不能(轻松)被桌面应用程序使用。最好将它们分开。

【讨论】:

  • 好!!感谢您的回答
  • um 代表“用户模式”
  • 3 不正确,具体取决于版本。任何安装 Visual C++ 以构建桌面应用程序的版本都会安装 Windows SDK。旧版本安装了一个轻量级版本,仅包括头文件、库和一些 SDK 工具。较新的版本安装完整的 SDK。
猜你喜欢
  • 2019-06-25
  • 2016-04-25
  • 2020-08-02
  • 2011-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-29
  • 2012-03-25
相关资源
最近更新 更多