Unreal Engine 插件中的 4.20 构建错误:[Adaptive unity build] 为排除的文件禁用 PCH

Unreal Engine 4.20 build error in plugin: [Adaptive unity build] Disabling PCH for excluded files

更新到 Unreal 4.20 后尝试构建项目时,我 运行 在插件代码中遇到以下错误:

1>[Adaptive unity build] Disabling PCH for excluded files. Set bAdaptiveUnityDisablesPCH to false in BuildConfiguration.xml to change this behavior. 
1>[Adaptive unity build] Excluded from MyUnrealPlugin unity file: MyFile.cpp

作为实验,我按照错误消息的建议禁用了 bAdaptiveUnityDisablesPCH,但这样做只是将上面的错误替换为:

<>c.<PrintExceptionInfo>b__4_1: ==============================================================================
<>c.<PrintExceptionInfo>b__4_0: UnrealBuildTool: ERROR: UBT ERROR: Failed to produce item: E:\GameDirectory\UE4\MyGame\Plugins\MyPlugin\Intermediate\Build\Win64\UE4Editor\Development\MyPlugin\UE4Editor-MyPlugin.lib
<>c.<PrintExceptionInfo>b__4_0:                         (see ../Programs/UnrealBuildTool/Log.txt for full exception trace)
<>c.<PrintExceptionInfo>b__4_1: 
<>c.<PrintExceptionInfo>b__4_1: BuildException: UBT ERROR: Failed to produce item: E:\GameDirectory\UE4\MyGame\Plugins\MyPlugin\Intermediate\Build\Win64\UE4Editor\Development\MyPlugin\UE4Editor-MyPlugin.lib
<>c.<PrintExceptionInfo>b__4_1:    at UnrealBuildTool.ActionGraph.ExecuteActions(BuildConfiguration BuildConfiguration, List`1 ActionsToExecute, Boolean bIsRemoteCompile, String& ExecutorName, String TargetInfoForTelemetry, EHotReload HotReload) in D:\Build\++UE4\Sync\Saved\CsTools\Engine\Source\Programs\UnrealBuildTool\System\ActionGraph.cs:line 570
<>c.<PrintExceptionInfo>b__4_1:    at UnrealBuildTool.UnrealBuildTool.RunUBT(BuildConfiguration BuildConfiguration, String[] Arguments, FileReference ProjectFile, Boolean bCatchExceptions) in D:\Build\++UE4\Sync\Saved\CsTools\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.cs:line 1673
<>c.<PrintExceptionInfo>b__4_1: ==============================================================================

关于我应该如何纠正这个问题有什么想法吗?

非常感谢!

结果是转移注意力 - 实际错误在构建输出中更靠前,源于 Windows 10 SDK 中的一个错误,该错误之前在 Win8 SDK 中被视为警告.在这种情况下,这些错误对我们没有意义,因此禁用它们可以解决问题。

#pragma warning(disable:4668)   // x  is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
#pragma warning(disable:4005)   // 'TEXT': macro redefinition

自己搜索发现“[Adaptive unity build] Excluded from XXX unity file:”后面列出的文件是根据git修改的cpp文件。

不太确定这是否能解决您的问题,但它帮助我停止追寻此消息。