Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2012 如何在VS2012中使用v90平台工具集而不使用VS2008,使用Windows SDK进行构建?_Visual Studio 2012_Visual Studio 2008 - Fatal编程技术网

Visual studio 2012 如何在VS2012中使用v90平台工具集而不使用VS2008,使用Windows SDK进行构建?

Visual studio 2012 如何在VS2012中使用v90平台工具集而不使用VS2008,使用Windows SDK进行构建?,visual-studio-2012,visual-studio-2008,Visual Studio 2012,Visual Studio 2008,我使用Visual Studio 2012,这是我安装的唯一一个Visual Studio版本。我需要用V90平台工具集(VisualStudio 2008)来构建某些C++项目,但是我不能安装VisualStudio 2008。 我理解通过安装Windows SDK 7.0可以使用v90平台工具集。到底是怎么做的?如果我只是简单地使用,我仍然不认为v90是一个可能的平台工具集。这是可能的,但显然需要一些操作和测试。以下假设已安装VS2012更新4,但未安装VS2010和VS2008 下载的x8

我使用Visual Studio 2012,这是我安装的唯一一个Visual Studio版本。我需要用V90平台工具集(VisualStudio 2008)来构建某些C++项目,但是我不能安装VisualStudio 2008。
我理解通过安装Windows SDK 7.0可以使用v90平台工具集。到底是怎么做的?如果我只是简单地使用,我仍然不认为v90是一个可能的平台工具集。

这是可能的,但显然需要一些操作和测试。以下假设已安装VS2012更新4,但未安装VS2010和VS2008

  • 下载的x86DVD(GRMSDK_EN_DVD.iso)。装载ISO或提取其内容,并从Setup文件夹下的以下文件夹手动安装MSI文件:

    • WinSDK(这可能会失败,没关系)
    • WinSDKBuild
    • 温斯金特罗普
    • WinSDKTools
    • WinSDKWin32Tools
    • vc_stdx86
    • vc_stdamd64
    • winsdk_intellidocs
    • WinsDkintellisenceFassys
    • WinSDKNetFxTools

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

  • 转到
    C:\ProgramFiles(x86)\Microsoft Visual Studio 9.0
    。将以下文件从
    Common7\IDE
    复制到
    VC\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复制要求基于。如果不复制它们,将看到
      错误MSB6006:“CL.exe”退出,代码为-1073741515

    Yodans答案中VS2013的一个补充/更新:

    我的工作设置:

  • VS2013必须使用VS2010 libs
  • 在VS2013中使用WinSDK 7.1(Yodans 2.)构建工具(v100)
  • 清洁安装,卸载sdk发行说明中提到的所有内容(可在类别详细信息下下载)
  • Microsoft Windows SDK for Windows 7(7.1)(Windows SDK核心组件文件)
  • 应用验证程序
  • Windows调试工具
  • Windows性能工具包
  • Microsoft帮助查看器1.0
  • 微软Visual C++ 2010可重新分配< /LI> 微软Visual C++ 2010标准版
  • 另外删除了所有与.NET和VC++相关的MS软件(如有必要,不进行测试)
  • 在VS2013中选择Windows7.1SDK作为平台工具集
  • 错误MSB6006:“CL.exe”已退出,代码为-1073741515
  • cl.exe使用msobj100.dll、mspdb100.dll、mspdbcore.dll和mspdbsrv.exe
  • 已添加到路径C:\Program Files(x86)\Microsoft Visual Studio 10.0\Common7\IDE
  • 构建工作正常,二进制文件可用(所以现在它的测试代码是Yodan;-))
  • 我的错误是:

  • 复制了7个文件。上面是C:\Program Files(x86)\Microsoft Visual Studio 10.0\VC\bin(Yodans 3.),相信此目录在路径中,但它不是
  • 所以最好按照尤丹的建议去做,并在第8章中由我自己测试。在上面
  • p、 同样的答案是解决这个问题:

    除此之外,我想补充一点

  • 您只需运行安装程序就可以安装SDK 7.0,没有问题
  • > p>您可以通过运行安装程序安装SDK 7.1,如果您先删除微软Visual C++ 2010重新分配表并修复以下注册表值:

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client]
    "Version"="4.0.30319"
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full]
    "Version"="4.0.30319"
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Client]
    "Version"="4.0.30319"
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Full]
    "Version"="4.0.30319"
    
    安装完成后,您可以(也可能应该)将这些值恢复到原来的状态

    别忘了安装KB2519277。在此之后,它会将SDK 7.1中的编译器更新为SP1

  • 您不需要复制任何dll。MSBuild使用

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VC@ProductDir
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\9.0\Setup\VC@ProductDir
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS@ProductDir
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\9.0\Setup\VS@ProductDir
    
    设置路径。将它们指向
    “C:\\Program Files(x86)\\Microsoft Visual Studio 9.0\\VC\\”
    “C:\\Program Files(x86)\\Microsoft Visual Studio 9.0\\”
    可能是明智的做法,因为它可能在构建过程中的其他地方有用

    如果计划使用Windows7.1SDK工具集,10.0版也是如此

  • 使用
    WindowsSdkVer.exe
    将当前SDK设置为7.1,以消除Microsoft.Cpp.x64.Targets(63,5)中关于缺少未命名必需文件的神秘错误。如果工具显示错误,则手动设置这些值:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows@CurrentInstallFolder
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows@CurrentInstallFolder
    
    指向新安装的SDK。该工具需要VisualStudio安装中的一些注册表项才能正常工作,但有很多注册表项,我不确定哪些是重要的

  • 重新启动。上面没有一个要求您这样做,但是没有重新启动,我在尝试构建项目时出错

  • 另一方面,SDK7.1添加了v100工具集,但它不起作用,因为
    无法从注册表中找到WindowsSDKDir变量。
    这是因为v100实际上需要随Visual Studio 2010提供的SDK7.0A,并且不能单独提供。Windows7.1SDK工具集可在需要时使用VC2010编译器

  • 如果构建系统出现故障,Microsoft.Cpp.Win32.*.props文件将包含大量相关内容


  • 不留笔记的向下投票对任何人都没有帮助。最好将
    C:\Program Files(x86)\Microsoft Visual Studio 9.0\Common7\IDE
    添加到PATH环境变量,而不是步骤3(未测试)。我也这样做了,现在Visual Studio 2015中提供了v90工具集。但生成我的项目时生成错误“缺少必需的文件”。我尝试将工具集设置为Windows7.1SDK,它产生了相同的分辨率