如何使用Windows SDK在没有VS2008的VS2012中使用v90平台工具集进行构建?

Yod*_*ber 12 visual-studio-2008 visual-studio-2012

我使用Visual Studio 2012,这是我安装的唯一Visual Studio版本.我需要使用v90平台工具集(Visual Studio 2008)构建某些C++项目,但我无法安装Visual Studio 2008.

我了解可以通过安装Windows SDK 7.0来使用v90平台工具集.究竟是怎么做到的?如果我只使用7.0 SP1的Web安装程序,我仍然不会将v90视为可能的平台工具集之一.

Yod*_*ber 10

这是可能的,但显然需要一些机动,并且不支持构建MFC应用程序.以下假设已安装VS2012更新4,但未安装VS2010和VS2008.

  1. 下载SDK 7.0 SP1x86 DVD (GRMSDK_EN_DVD.iso).挂载ISO或提取其内容,并从Setup文件夹下的以下文件夹中手动安装MSI文件:

    • WinSDK (这可能会失败,没关系)
    • WinSDKBuild
    • WinSDKInterop
    • WinSDKTools
    • WinSDKWin32Tools
    • vc_stdx86
    • vc_stdamd64
    • winsdk_intellidocs
    • WinSDKIntellisenceRefAssys
    • WinSDKNetFxTools

     

  2. 下载SDK 7.1x86 DVD (GRMSDK_EN_DVD.iso).挂载ISO或提取其内容,并从上面列出的相同文件夹手动安装MSI文件(winsdk_intellidocs除外,它不存在).

  3. 去吧C:\Program Files (x86)\Microsoft Visual Studio 9.0.将以下文件复制Common7\IDEVC\bin:

    • msobj80.dll
    • mspdb80.dll
    • mspdbcore.dll
    • mspdbsrv.exe

现在,您应该能够在Visual Studio 2012中选择v90平台工具集并使用它进行构建.

解释(和来源):

  • 单个MSI安装基于此连接报告中的第二个解决方法.
  • 对7.0和7.1的要求都是基于这个问题(VS2010和VS2008都需要在VS2012中使用v90!).如果你有VS2010,则不需要SDK 7.1.
  • DLL/EXE复制要求基于另一个问题.如果你不复制它们,你会看到error MSB6006: "CL.exe" exited with code -1073741515.