在CryEngine EaaS中出现Winres.h编译错误

Winres.h copilation error in CryEngine EaaS

本文关键字:Winres 编译 错误 CryEngine EaaS      更新时间:2023-10-16

我是Cryengine新手,我正试图为我的游戏构建自定义Game DLL。但首先,我试着编译CryGameZero DLL,我发现了一些编译错误。

我使用的是VS2013 Professional

Error RC1015: cannot open include file 'winres.h'.
    c:...CRYENGINEBinTemprc_filesCryGameZero.auto_gen.rc 
    10 1 CryGameZero
Error MSB3073: The command "cd /d
    "c:...CRYENGINE" & cry_waf.exe 
    build_win_x86_profile --project-spec gamezero
    --execsolution="c:...CRYENGINESolutionsCRYENGINE.sln"
    --targets=CryGameZero" exited with code 1.
    c:...CRYENGINE_WAF_msbuildwaf_build.targets
    69 3 CryGameZero

我检查了我的 vc++目录,我有C:Program Files (x86)Windows Kits8.0includeum但是winres.h不在该目录中,所以我更改为C:Program Files (x86)Windows Kits8.1Includeum, winres.h位于何处,但我仍然得到相同的错误。

是否有人有同样的问题或知道如何解决这个问题。我在谷歌上搜索,但到目前为止,我找到了文档和教程,用旧版本的Cryengine没有WAF和使用VS2010或VS2012。

我找到了一个解决这个问题的方法。

这是一步一步的解决方案。首先检查WAF配置。

cry_waf.exe configure --auto-detect-verbose True
   --generate-vs-projects-automatically False

在我的情况下,WAF是自动检测MSVC和Win SDK版本和四个

  • MSVC 11.0
  • MSVC 12.0

并自动将其设置为MSVC 11.0,因为它是列表中的第一个。Win SDK版本也是如此,找到

  • SDK 8.0
  • SDK 8.1

Amd自动设置为8.0

由于我使用的是Visual Studio 2013,根据Crytek文档,您需要设置MSVC和Win SDK的版本以适应您的VS版本

VS Version    VC++ Version    Recomended Win SDK
2012          11.0            8.0
2013          12.0            8.1
2015          14.0            10.0.10240.0

对于VS2015:早期安装的Visual Studio 2015可能已经安装了10.0.10150.0。在此场景中,重新运行Visual Studio安装程序并选择推荐的版本。

将其设置为合适的版本,清理解决方案并重新构建,一切都像需要的那样好。