Visual Studio 2008的构建工具(平台工具集='v90')无法找到。

3

我正在尝试在VS2017上构建C++项目,但是出现了错误:“找不到Visual Studio 2008的构建工具(平台工具集='v90')”,之后我必须下载VS 2008并安装它,但问题仍然存在。有什么建议吗?

3个回答

6
你需要:
  • MSVC 9.0编译器工具链
    • https://wiki.python.org/moin/WindowsCompilers 列出了拥有该工具的产品:
      • VS 2008,“Visual C++”功能和“x64编译器和工具”子功能
        • Express版本仅有x86编译器
        • 在VS2008中,安装SP1——包括x64编译器在内——是基础版安装程序的故障之一
      • WinSDK 6.1
      • WinSDK 7.0
      • “Python 2.7的Visual C++编译器”包
  • 以上工具链的MsBuild 4.0工具集配置文件。(这些目录为c:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\<arch>\PlatformToolsets\v90\,其中包含.props.targets文件)

    • 我所知道唯一拥有此包的产品是VS2010(“Visual C++”功能和“x64编译器和工具”子功能)。
    • (WinSDK 7.1也拥有它,但其安装有众多错误,并且在x64系统上存在故障。)
      • (然而,如果你直接安装<GRMSDK_EN_DVD.iso>\Setup\vc_stdx86\vc_stdx86.msi,你可以绕过有问题的安装程序。尽管名称如此,但它具有所有三个平台的工具集文件。)


    "Python 2.7的Visual C++编译器"包不受这些工具集配置文件的支持。因此,如果你使用它,你需要在.props指定的某个注册表值中手动指定其位置,或者修改.props以使其也查找HKLM\Software\Microsoft\DevDiv\VCForPython


不确定你为什么要添加所有这些 Python 信息,问题并没有提到 Python。 - Hong Ooi
2
@HongOoi 这只是巧合。Python 2.7在Windows上官方编译时使用VC90,因此他们在这方面有一些有用的东西。 - ivan_pozdeev

4
这些项目的目标平台工具集是v90。解决方案要么是使用正确的工具(即使用VS2008打开.sln文件),要么花一些时间更新项目以针对最新的平台工具集(即VS2017)。要做到这一点,只需右键单击每个项目,然后进入属性,查看常规| Windows SDK 版本。可能需要在升级项目后修复编译/链接器错误。

1

可以通过命令行升级项目文件,而不必在Visual Studio中打开它。我遇到了同样的问题,在Microsoft Visual Studio文档中找到了另一个解决方案 (https://learn.microsoft.com/en-us/visualstudio/ide/reference/upgrade-devenv-exe?view=vs-2017)。

以下是步骤:

  1. 为您的Visual Studio版本打开开发人员命令提示符,例如“Developer Command Prompt for VS 2017”。
  2. 导航到您的项目文件目录。
  3. 执行以下命令:devenv myproject.sln /upgrade

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接