作为SDK的Cryengine最近已从提供预制解决方案转变为迫使开发人员使用基于WAF的构建系统来自动生成Visual Studio解决方案。目前,对于每个人都对新构建系统遇到的问题,Crytek很少进行交流,因此我希望这里的人能够为您提供帮助。

我正在使用Cry-WAF(基于Crytek的基于WAF的构建系统)来生成解决方案,但是当我打开它时,它提供了一个错误(如下所述),并且在解决方案资源管理器中将(加载失败)追加到了解决方案中的每个项目。我首先遇到了一个问题,该问题是使用Cry-WAF的msvs.py脚本生成解决方案时说的,该脚本无法收集平台/配置的属性,但最终停止了运行,并允许生成引用问题的解决方案。

在根本原因上进行的一般性Google搜索建议我尝试启用IIS,但这并不能解决问题。编辑.vcxproj文件表明,它们正确列出了与该项目关联的所有文件的路径。解决方案中唯一缺少的东西似乎只是信息,这些信息会告诉您要使用的编译器,目标名称,目标路径等。由于对WAF作为构建系统了解甚少,因此我认为python代码Crytek正在用来收集信息,这完全是失败的。

有没有人对可能采取的措施提出建议?


  c:\ Program Files(x86)\ Steam \ SteamApps \ common \ CRYENGINE \ CRYENGINE_pc_eaascode \ Solutions.depproj \ CryAction.vcxproj:错误:合成产生单个合成错误。根本原因在下面提供。查看CompositionException.Errors属性以获取更多详细信息。
  
  1)指定的参数超出有效值范围。
  参数名称:索引
  
  结果:尝试获取属性“ Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCConfigurationMef.VCConfigurationShim”的值时发生异常。
  
  结果:无法从零件“ Microsoft.VisualStudio.Project.VisualC.VCProjectEngine”导出“ Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCConfigurationMef.VCConfigurationShim(ContractName =“ Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCConfigurationShim”)” .VCConfigurationMef'。
  元素:Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCConfigurationMef.VCConfigurationShim(ContractName =“ Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCConfigurationShim”)-> Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCConfigurationMef
  
  结果:无法在部分Microsoft.VisualStudio.Project.VisualC.VCProjectEngine上设置导入Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCLegacyEventsTranslator.VCConfiguration(ContractName =“ Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCConfigurationShim”)' .VCLegacyEventsTranslator”。
  元素:Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCLegacyEventsTranslator.VCConfiguration(ContractName =“ Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCConfigurationShim”)-> Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCLegacyEventsTranslator
  
  结果:无法从部分“ Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCLegacyEventsTranslator”导出“ Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCLegacyEventsTranslator(ContractName =“ Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCLegacyEventsTranslator”)”。 '。
  元素:Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCLegacyEventsTranslator(ContractName =“ Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCLegacyEventsTranslator”)-> Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCLegacyEventsTranslator
  
  结果:无法在部分Microsoft.VisualStudio.Project.VisualC.VCProjectEngine上设置导入Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCConfigurationMef.EventsTranslator(ContractName =“ Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCLegacyEventsTranslator”)' .VCConfigurationMef'。
  元素:Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCConfigurationMef.EventsTranslator(ContractName =“ Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCLegacyEventsTranslator”)-> Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCConfigurationMef
  
  结果:无法从部分“ Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCConfigurationMef”导出“ Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCConfigurationMef.VCConfigurationShim(ContractName =“ Microsoft.VisualStudio.ProjectSystem.ConfiguredProject.HostObject”)” '。
  元素:Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCConfigurationMef.VCConfigurationShim(ContractName =“ Microsoft.VisualStudio.ProjectSystem.ConfiguredProject.HostObject”)-> Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCConfigurationMef

最佳答案

目前仅支持Visual Studio 2012,因此,Visual Studio 2013可能会出现问题。

他们的论坛上有一个主题专门用于解决WAF问题,包括在Visual Studio 2013中启动并运行该主题:http://www.cryengine.com/community/viewtopic.php?f=314&t=130850

WAF文档在这里:http://docs.cryengine.com/display/SDKDOC4/Getting+Started+with+WAF

在CRYENGINE论坛上,您会更快地找到帮助-很少有用户习惯性地检查Stack Overflow中的这些类型的问题。

关于c++ - 自动生成的WAF解决方案无法加载,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30991356/

10-13 08:18