keywords: [UE4]4.18.1引擎编译bug:‘MergeShaderCacheFiles’ is not a member of ‘FShaderCache’ ShaderCacheTool

UE4.18.1源码编译错误:

Error    C2039    'MergeShaderCacheFiles': is not a member of 'FShaderCache'    ShaderCacheTool    C:\Users\xC0DEB10C\Documents\Git\UnrealEngine\Engine\Source\Programs\Mac\ShaderCacheTool\Private\ShaderCacheTool.cpp    66

Error    C1083    Cannot open include file: 'Interfaces/IAutomationWorkerModule.h': No such file or directory    BuildPatchTool    C:\Users\xC0DEB10C\Documents\Git\UnrealEngine\Engine\Source\Programs\BuildPatchTool\Private\ToolModes\AutomationMode.cpp    12

这是官方已经确定的bug,4.19修复。
手动修改方式如下:
打开
Engine/Source/Programs/Mac/ShaderCacheTool/Private/ShaderCacheTool.cpp

bool bOK = FShaderCache::MergeShaderCacheFiles(RunInfo.InputFile1, RunInfo.InputFile2, RunInfo.OutputFile);

修改为

bool bOK = true;

具体参考:
https://github.com/EpicGames/UnrealEngine/pull/4222/files


世界只有一个,就是此刻压迫着你的这个,你也只在这一分钟活着,就是此刻这一分钟;而唯一的生命之道,就是接纳每一分钟,视之为独一无二的奇迹。