一开始我想指出,我花了一些时间研究这个问题,并提出了类似this one之类的类似问题的解决方案,对我没有帮助。
我需要将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社区。我删除了它,安装了Visual Studio 2013 Pro(版本12.0.21005.1 REL-与PC_1完全相同),移动了所有需要的文件,并且我试图摆脱所有编译错误。到目前为止,我已经确定必须安装Cmake 2.8,Windows Driver Toolkit 7.1并手动覆盖incorrect VCTargetsPath MSBuild variable
当前,当我尝试在新计算机上编译项目时,我得到了these two errors(这是图像链接,因为我还无法在该帐户上嵌入图像)。我不确定第一条错误消息的处理方式,因为它看起来不完整,并且文件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...
选项,但是当我右键单击解决方案时没有这种事情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)
和10.0
出现的所有内容.vcxproj文件来替换它们,但我没有发现它们的任何出现。我只是想尝试从命令行使用MSBuild构建项目。与Visual Studio中的错误相比,还有更多的信息,因此也许可以解决以下问题:https://pastebin.com/JhN3dXM3
答案 0 :(得分:0)
所以您在这里缺少的是FireBreath项目是使用CMake构建的-构建目录的实际内容应该始终是完全临时的,并且永远不要存储在源代码管理中。要在新计算机上构建项目,您需要再次从头开始运行prep命令。
如果以前的维护者在不使用cmake的情况下手动更改了构建文件和/或将其迁移到Visual Studio的较新版本中,则他们做了一些非常丑陋的事情,所有赌注都消失了……祝您好运。 >
这就是为什么所有的firebreath文档(我写了大部分内容)都强烈建议build目录是瞬态的,而您总是在cmake中进行项目文件的更新。
希望有帮助!