c++ - Visual Studio 2013,错误 MSB8020:找不到 Visual Studio 2010 的构建工具
问题描述
一开始我想指出,我已经花了一些时间研究这个问题,并为类似的问题提出了解决方案,比如这个对我没有帮助。
问题背景
我需要将 Firebreath 插件项目(我以前没有处理过)从 PC_1 迁移到 PC_2。
据我所知,该项目是在Visual Studio 2010上的 PC_1 上启动的,后来转移到 Visual Studio 2013 Pro。有一个解决方案由 19 个项目组成。我有一条指令说,为了获得插件安装程序,我应该首先构建 project_x,然后构建 project_y_WiXInstall。这两个步骤在这台机器上都没有任何问题。
然后是 PC_2,它在我开始工作之前安装了 Visual Studio 2015 Community。我已经删除了它,安装了 Visual Studio 2013 Pro(版本 12.0.21005.1 REL - 与 PC_1 上的完全相同),移动了所有需要的文件,我正试图摆脱所有编译错误。到目前为止,我发现我必须安装 Cmake 2.8、Windows Driver Toolkit 7.1 并手动覆盖不正确的 VCTargetsPath MSBuild 变量
问题描述
目前,当我尝试在新机器上编译项目时,我得到了这两个错误(这是一个图像链接,因为我还不能在这个帐户上嵌入图像)。我不确定第一条错误消息是怎么回事,因为它看起来不完整并且文件 CUSTOMBUILD 不存在,但我并没有太在意它,因为我修复的上一个编译错误也有类似的“工件”作为第一个错误,在修复第二个错误后它消失了。
第二条错误消息的覆盖部分是项目路径。错误来源(Microsoft.Cpp.Platform.targets 文件,第 64 行)如下所示:
<!-- Error out if toolset does not exists in Visual Studio 2010 or 2012 -->
<VCMessage Code="MSB8020" Type="Error" Arguments="$(_CurrentPlatformToolsetShortName);$(PlatformToolset)" Condition="'$(ToolsetTargetsFound)' != 'true'" />
什么没有帮助
- 错误描述建议使用一个
Upgrade Solution...
选项,但是当我右键单击解决方案时没有这样的事情 - 作为我在帖子开头发布的问题的公认答案,我已经检查了我所有 19 个项目(包括项目 ZERO_CHECK)的属性,但它们的平台工具集已经设置为
Visual Studio 2013 (v120)
. - 我还尝试将
inherit from parent or project defaults
所有项目的平台工具集更改为。这导致它切换到Visual Studio 2010 (v100) (not installed)
,然后我右键单击项目并选择Upgrade VC++ compiler and libraries
. 在此之后,平台工具集回到了,Visual Studio 2013 (v120)
但它对编译错误没有帮助。 - 正如我在帖子开头发布的问题的一个不被接受的答案所暗示的那样,我已经尝试搜索所有 .vcxproj 文件中出现的
10.0
所有V100
内容以替换它们,但我没有找到任何他们的出现。
[编辑]
我刚刚有了一个想法,尝试从命令行使用 MSBuild 构建项目。与 Visual Studio 中的错误相比,有更多信息,所以也许它有助于解决问题:https ://pastebin.com/JhN3dXM3
解决方案
因此,您在这里缺少的是 FireBreath 项目是使用 CMake 构建的——构建目录的实际内容应该始终是完全临时的,并且永远不会存储在源代码管理中。要在新计算机上构建项目,您需要从头开始再次运行 prep 命令。
如果以前的维护者手动更改了构建文件和/或将其迁移到新版本的 Visual Studio 而不使用 cmake 来完成,那么他们做了一些非常丑陋的事情,所有的赌注都失败了……祝你好运。
这就是为什么所有 firebreath 文档(我写了大部分)都强烈要求构建目录是临时的,并且您总是在 cmake 中进行项目文件更新。
希望有帮助!
推荐阅读
- python - Python 传输列表作为函数参数
- c++ - 带有比较器的映射构造函数
- javascript - 在 React 中滚动时使用淡入淡出动画更改背景颜色
- sql - 从不同的表中选择条目
- c# - 从 WinForms 中的另一个选项卡获取 FastColoredTextBox.Text?
- python - 如何处理“Model.fit_generator is deprecated”错误
- python - KeyError:“['id''x_center''y_center'] 不在索引中”
- c - 结构中变量的动态分配
- javascript - 在 ReactJS/GatsbyJS 中使用外部脚本中的函数
- xcode - 我无法在 XCode (Chip M1) React 本机应用程序中构建