ue4-docker: 4.27.0 on Windows fails with error C4668: 'WINAPI_PARTITION_GAMES' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'

Output of the ue4-docker info command:

ue4-docker version:         0.0.88 (latest available version is 0.0.88)
Operating system:           Windows Server 2019 Standard Evaluation Version 1809 (Build 17763.2114)
Docker daemon version:      20.10.6
NVIDIA Docker supported:    No
Maximum image size:         400GB
Available disk space:       789.61 GiB
Total system memory:        63.92 GiB physical, 73.42 GiB virtual
Number of processors:       12 physical, 24 logical

Additional details:

  • Are you accessing the network through a proxy server? No

Hello, I am having issues building the newest UE 4.27 using the latest ue4-docker (0.0.88). At first I thought it was due to the custom UE version we use in the company, but I have also tried to build the not customized version from epic and the issue persists. Building the engine using the ue4 build-target UE4Editor works on both native OS and windows containers. Linux image builds just fine. Previous UE images build just fine. Older ue4-docker versions (tested 0.0.77 and 0.0.86) have the same issue. I am able to reproduce the issue on any windows server machine by running:

ue4-docker build custom:"4.27" -repo="git@github.com:EpicGames/UnrealEngine.git" -branch="4.27" --visual-studio 2019 --exclude debug --exclude templates --exclude ddc
[ue4-docker build] COMMAND-LINE INVOCATION:
[ue4-docker build] ['ue4-docker', 'custom:4.27', '-repo=git@github.com:EpicGames/UnrealEngine.git', '-branch=4.27', '--visual-studio', '2019', '--exclude', 'debug', '--exclude', 'templates', '--exclude', 'ddc']

[ue4-docker build] UNREAL ENGINE VERSION SETTINGS:
[ue4-docker build] Custom build:  Yes
[ue4-docker build] Custom name:   4.27
[ue4-docker build] Repository:    git@github.com:EpicGames/UnrealEngine.git
[ue4-docker build] Branch/tag:    4.27

[ue4-docker build] ADVANCED CONFIGURATION OPTIONS:
[ue4-docker build] buildgraph_args: " -set:VS2019=true"
[ue4-docker build] excluded_components: {"ddc": true, "debug": true, "templates": true}

[ue4-docker build] WINDOWS CONTAINER SETTINGS
[ue4-docker build] Isolation mode:               process
[ue4-docker build] Base OS image tag:            ltsc2019
[ue4-docker build] Host OS:                      Windows Server 2019 Standard Evaluation Version 1809 (Build 17763.2114)
[ue4-docker build] Memory limit:                 No limit
[ue4-docker build] Detected max image size:      400GB
[ue4-docker build] Visual Studio:                2019
[ue4-docker build] Directory to copy DLLs from:  C:\Windows\System32

[ue4-docker build] GENERAL SETTINGS
[ue4-docker build] Excluding the following Engine components:
[ue4-docker build] - Debug symbols
[ue4-docker build] - Derived Data Cache (DDC)
[ue4-docker build] - Template projects and samples
[ue4-docker build] Not building the ue4-source image, no Git credentials required.

[ue4-docker build] Image "adamrehn/ue4-build-prerequisites:ltsc2019-vs2019" exists and rebuild not requested, skipping build.

[ue4-docker build] Image "adamrehn/ue4-source:4.27-ltsc2019-vs2019" exists and rebuild not requested, skipping build.

[ue4-docker build] Building image "adamrehn/ue4-engine:4.27-ltsc2019-vs2019"...
Sending build context to Docker daemon  3.072kB
Step 1/8 : ARG NAMESPACE
Step 2/8 : ARG TAG
Step 3/8 : ARG PREREQS_TAG
Step 4/8 : FROM ${NAMESPACE}/ue4-source:${TAG}-${PREREQS_TAG}
 ---> 7f4bcdefd16b
Step 5/8 : RUN GenerateProjectFiles.bat && echo. && echo.RUN directive complete. Docker will now commit the filesystem layer to disk. && echo.Note that for large filesystem layers this can take quite some time. && echo.Performing filesystem layer commit... && echo.
 ---> Using cache
 ---> 732cdcb289e5
Step 6/8 : RUN .\Engine\Build\BatchFiles\Build.bat UE4Editor Win64 Development -WaitMutex && echo. && echo.RUN directive complete. Docker will now commit the filesystem layer to disk. && echo.Note that for large filesystem layers this can take quite some time. && echo.Performing filesystem layer commit... && echo.
 ---> Running in 65437974a158
Using 'git status' to determine working set for adaptive non-unity build (C:\UnrealEngine).
Creating makefile for UE4Editor (no existing makefile)
Creating makefile for UnrealHeaderTool (no existing makefile)
Building 48 actions with 24 processes...
  [1/48] Default.rc2
  [2/48] BuildSettings.cpp
  [3/48] UnrealHeaderTool-BuildSettings.lib
     Creating library C:\UnrealEngine\Engine\Intermediate\Build\Win64\UnrealHeaderTool\Development\BuildSettings\UnrealHeaderTool-BuildSettings.lib and object C:\UnrealEngine\Engine\Intermediate\Build\Win64\UnrealHeaderTool\Development\BuildSettings\UnrealHeaderTool-BuildSettings.exp
  [4/48] UnrealHeaderTool-BuildSettings.dll
     Creating library C:\UnrealEngine\Engine\Intermediate\Build\Win64\UnrealHeaderTool\Development\BuildSettings\UnrealHeaderTool-BuildSettings.suppressed.lib and object C:\UnrealEngine\Engine\Intermediate\Build\Win64\UnrealHeaderTool\Development\BuildSettings\UnrealHeaderTool-BuildSettings.suppressed.exp
  [5/48] Module.TraceLog.cpp
  [6/48] UnrealHeaderTool-TraceLog.lib
     Creating library C:\UnrealEngine\Engine\Intermediate\Build\Win64\UnrealHeaderTool\Development\TraceLog\UnrealHeaderTool-TraceLog.lib and object C:\UnrealEngine\Engine\Intermediate\Build\Win64\UnrealHeaderTool\Development\TraceLog\UnrealHeaderTool-TraceLog.exp
  [7/48] UnrealHeaderTool-TraceLog.dll
     Creating library C:\UnrealEngine\Engine\Intermediate\Build\Win64\UnrealHeaderTool\Development\TraceLog\UnrealHeaderTool-TraceLog.suppressed.lib and object C:\UnrealEngine\Engine\Intermediate\Build\Win64\UnrealHeaderTool\Development\TraceLog\UnrealHeaderTool-TraceLog.suppressed.exp
  [8/48] SharedPCH.Core.ShadowErrors.cpp
  [9/48] PCH.Core.cpp
  [10/48] Module.Core.2_of_15.cpp
  [11/48] Module.Projects.cpp
  [12/48] UnrealHeaderTool-Projects.lib
     Creating library C:\UnrealEngine\Engine\Intermediate\Build\Win64\UnrealHeaderTool\Development\Projects\UnrealHeaderTool-Projects.lib and object C:\UnrealEngine\Engine\Intermediate\Build\Win64\UnrealHeaderTool\Development\Projects\UnrealHeaderTool-Projects.exp
  [13/48] PCH.CoreUObject.cpp
  [14/48] Module.Core.11_of_15.cpp
  [15/48] Module.Core.7_of_15.cpp
  [16/48] Module.Json.cpp
  [17/48] Module.Core.4_of_15.cpp
  [18/48] Module.Core.15_of_15.cpp
  [19/48] UnrealHeaderTool-Json.lib
     Creating library C:\UnrealEngine\Engine\Intermediate\Build\Win64\UnrealHeaderTool\Development\Json\UnrealHeaderTool-Json.lib and object C:\UnrealEngine\Engine\Intermediate\Build\Win64\UnrealHeaderTool\Development\Json\UnrealHeaderTool-Json.exp
  [20/48] Module.Core.8_of_15.cpp
  [21/48] Module.Core.3_of_15.cpp
  [22/48] Module.Core.10_of_15.cpp
  [23/48] Module.Core.6_of_15.cpp
  [24/48] Module.CoreUObject.9_of_9.cpp
  [25/48] Module.Core.1_of_15.cpp
  [26/48] Module.Core.13_of_15.cpp
  C:/UnrealEngine/Engine/Source/Runtime/Core/Private/Tests/Math/UnitConversionTests.cpp(143): warning C4305: 'argument': truncation from 'double' to 'float'
  [27/48] Module.Core.9_of_15.cpp
  [28/48] Module.Core.5_of_15.cpp
  [29/48] Module.Core.12_of_15.cpp
  [30/48] Module.Core.14_of_15.cpp
  [31/48] UnrealHeaderTool-Core.lib
     Creating library C:\UnrealEngine\Engine\Intermediate\Build\Win64\UnrealHeaderTool\Development\Core\UnrealHeaderTool-Core.lib and object C:\UnrealEngine\Engine\Intermediate\Build\Win64\UnrealHeaderTool\Development\Core\UnrealHeaderTool-Core.exp
  [32/48] Module.CoreUObject.2_of_9.cpp
  [33/48] UnrealHeaderTool-Json.dll
     Creating library C:\UnrealEngine\Engine\Intermediate\Build\Win64\UnrealHeaderTool\Development\Json\UnrealHeaderTool-Json.suppressed.lib and object C:\UnrealEngine\Engine\Intermediate\Build\Win64\UnrealHeaderTool\Development\Json\UnrealHeaderTool-Json.suppressed.exp
  [34/48] UnrealHeaderTool-Projects.dll
     Creating library C:\UnrealEngine\Engine\Intermediate\Build\Win64\UnrealHeaderTool\Development\Projects\UnrealHeaderTool-Projects.suppressed.lib and object C:\UnrealEngine\Engine\Intermediate\Build\Win64\UnrealHeaderTool\Development\Projects\UnrealHeaderTool-Projects.suppressed.exp
  [35/48] UnrealHeaderTool-Core.dll
     Creating library C:\UnrealEngine\Engine\Intermediate\Build\Win64\UnrealHeaderTool\Development\Core\UnrealHeaderTool-Core.suppressed.lib and object C:\UnrealEngine\Engine\Intermediate\Build\Win64\UnrealHeaderTool\Development\Core\UnrealHeaderTool-Core.suppressed.exp
  [36/48] Module.CoreUObject.6_of_9.cpp
  [37/48] Module.CoreUObject.7_of_9.cpp
  [38/48] Module.CoreUObject.4_of_9.cpp
  [39/48] Module.CoreUObject.3_of_9.cpp
  [40/48] Module.CoreUObject.1_of_9.cpp
  [41/48] Module.CoreUObject.5_of_9.cpp
  [42/48] Module.UnrealHeaderTool.cpp
  C:/UnrealEngine/Engine/Source/Programs/UnrealHeaderTool/Private/CodeGenerator.cpp(2465): warning C4305: 'argument': truncation from 'double' to 'float'
  C:/UnrealEngine/Engine/Source/Programs/UnrealHeaderTool/Private/CodeGenerator.cpp(3395): warning C4305: 'argument': truncation from 'double' to 'float'
  [43/48] UnrealHeaderTool.lib
     Creating library C:\UnrealEngine\Engine\Intermediate\Build\Win64\UnrealHeaderTool\Development\UnrealHeaderTool.lib and object C:\UnrealEngine\Engine\Intermediate\Build\Win64\UnrealHeaderTool\Development\UnrealHeaderTool.exp
  [44/48] Module.CoreUObject.8_of_9.cpp
  [45/48] UnrealHeaderTool-CoreUObject.lib
     Creating library C:\UnrealEngine\Engine\Intermediate\Build\Win64\UnrealHeaderTool\Development\CoreUObject\UnrealHeaderTool-CoreUObject.lib and object C:\UnrealEngine\Engine\Intermediate\Build\Win64\UnrealHeaderTool\Development\CoreUObject\UnrealHeaderTool-CoreUObject.exp
  [46/48] UnrealHeaderTool-CoreUObject.dll
     Creating library C:\UnrealEngine\Engine\Intermediate\Build\Win64\UnrealHeaderTool\Development\CoreUObject\UnrealHeaderTool-CoreUObject.suppressed.lib and object C:\UnrealEngine\Engine\Intermediate\Build\Win64\UnrealHeaderTool\Development\CoreUObject\UnrealHeaderTool-CoreUObject.suppressed.exp
  [47/48] UnrealHeaderTool.exe
  [48/48] UnrealHeaderTool.target
Total time in Parallel executor: 29.33 seconds
Parsing headers for UE4Editor
  Running UnrealHeaderTool UE4Editor "C:\UnrealEngine\Engine\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor.uhtmanifest" -LogCmds="loginit warning, logexit warning, logdatabase error" -Unattended -WarningsAsErrors -abslog="C:\UnrealEngine\Engine\Programs\UnrealBuildTool\Log_UHT.txt"
LogInit: Display: Loading text-based GConfig....
Reflection code generated for UE4Editor in 12.7497078 seconds
Building UE4Editor...
Using Visual Studio 2019 14.29.30133 toolchain (C:\BuildTools\VC\Tools\MSVC\14.29.30133) and Windows 10.0.17763.0 SDK (C:\Program Files (x86)\Windows Kits\10).
Building 4561 actions with 24 processes...
  [1/4561] PBDSpringConstraints.ispc
  [2/4561] GeometryCollectionSceneProxy.ispc
  [3/4561] GPUSkinVertexFactory.ispc
  [4/4561] AABB.ispc
  [5/4561] PBDAxialSpringConstraints.ispc
  [6/4561] PBDLongRangeConstraints.ispc
  [7/4561] BonePose.ispc
  [8/4561] SkeletalMeshComponent.ispc
  [9/4561] ChaosClothingSimulation.ispc
  [10/4561] VelocityField.ispc
  [11/4561] NiagaraDataInterfaceVectorField.ispc
  [12/4561] TriangleMesh.ispc
  [13/4561] AnimationRuntime.ispc
  [14/4561] KAggregateGeom.ispc
  [15/4561] GeometryCollectionComponent.ispc
  [16/4561] PBDSphericalConstraint.ispc
  [17/4561] PBDMinEvolution.ispc
  [18/4561] GPUSkinVertexFactory.ispc
  [19/4561] Default.rc2
  [20/4561] GeometryCollectionSceneProxy.ispc
  [21/4561] AABB.ispc
  [22/4561] PerParticleDampVelocity.ispc
  [23/4561] PBDSpringConstraints.ispc
  [24/4561] PBDLongRangeConstraints.ispc
  [25/4561] BonePose.ispc
  [26/4561] PBDAxialSpringConstraints.ispc
  [27/4561] SkeletalMeshComponent.ispc
  [28/4561] AnimEncoding_ConstantKeyLerp.ispc
  [29/4561] VelocityField.ispc
  [30/4561] TriangleMesh.ispc
  [31/4561] ChaosClothingSimulation.ispc
  [32/4561] NiagaraDataInterfaceVectorField.ispc
  [33/4561] PCH.ImageWrapper.cpp
  [34/4561] SharedPCH.CoreUObject.ShadowErrors.cpp
  [35/4561] SharedPCH.Core.ShadowErrors.cpp
  [36/4561] AnimationRuntime.ispc
  [37/4561] KAggregateGeom.ispc
  [38/4561] PCH.Core.cpp
  [39/4561] AnimEncoding_VariableKeyLerp.ispc
  [40/4561] PBDSphericalConstraint.ispc
  [41/4561] Module.TraceLog.cpp
  [42/4561] GeometryCollectionComponent.ispc
  [43/4561] PBDMinEvolution.ispc
  [44/4561] PCH.CoreUObject.cpp
  [45/4561] PBDJointSolverGaussSeidel.ispc
  [46/4561] Module.ImageWrapper.cpp
  [47/4561] PerParticlePBDCollisionConstraint.ispc
  [48/4561] PerParticleDampVelocity.ispc
  [49/4561] Module.SlateCore.gen.cpp
  [50/4561] AnimEncoding_PerTrackCompression.ispc
  [51/4561] Module.Core.7_of_15.cpp
  [52/4561] Module.Core.10_of_15.cpp
  [53/4561] AnimEncoding_ConstantKeyLerp.ispc
  [54/4561] SharedPCH.Slate.ShadowErrors.cpp
  [55/4561] Module.SlateCore.2_of_3.cpp
.
.
.
  [4543/4561] UE4Editor-DisplayClusterConfigurator.dll
     Creating library C:\UnrealEngine\Engine\Plugins\Runtime\nDisplay\Intermediate\Build\Win64\UE4Editor\Development\DisplayClusterConfigurator\UE4Editor-DisplayClusterConfigurator.suppressed.lib and object C:\UnrealEngine\Engine\Plugins\Runtime\nDisplay\Intermediate\Build\Win64\UE4Editor\Development\DisplayClusterConfigurator\UE4Editor-DisplayClusterConfigurator.suppressed.exp
  [4544/4561] UE4Editor-DatasmithPLMXMLTranslator.dll
     Creating library C:\UnrealEngine\Engine\Plugins\Enterprise\DatasmithCADImporter\Intermediate\Build\Win64\UE4Editor\Development\DatasmithPLMXMLTranslator\UE4Editor-DatasmithPLMXMLTranslator.suppressed.lib and object C:\UnrealEngine\Engine\Plugins\Enterprise\DatasmithCADImporter\Intermediate\Build\Win64\UE4Editor\Development\DatasmithPLMXMLTranslator\UE4Editor-DatasmithPLMXMLTranslator.suppressed.exp
  [4545/4561] UE4Editor-MeshModelingToolsEditorOnly.dll
     Creating library C:\UnrealEngine\Engine\Plugins\Experimental\MeshModelingToolset\Intermediate\Build\Win64\UE4Editor\Development\MeshModelingToolsEditorOnly\UE4Editor-MeshModelingToolsEditorOnly.suppressed.lib and object C:\UnrealEngine\Engine\Plugins\Experimental\MeshModelingToolset\Intermediate\Build\Win64\UE4Editor\Development\MeshModelingToolsEditorOnly\UE4Editor-MeshModelingToolsEditorOnly.suppressed.exp
  [4546/4561] UE4Editor-MagicLeapAR.dll
     Creating library C:\UnrealEngine\Engine\Plugins\Lumin\MagicLeap\Intermediate\Build\Win64\UE4Editor\Development\MagicLeapAR\UE4Editor-MagicLeapAR.suppressed.lib and object C:\UnrealEngine\Engine\Plugins\Lumin\MagicLeap\Intermediate\Build\Win64\UE4Editor\Development\MagicLeapAR\UE4Editor-MagicLeapAR.suppressed.exp
  [4547/4561] UE4Editor-GameplayAbilitiesEditor.dll
     Creating library C:\UnrealEngine\Engine\Plugins\Runtime\GameplayAbilities\Intermediate\Build\Win64\UE4Editor\Development\GameplayAbilitiesEditor\UE4Editor-GameplayAbilitiesEditor.suppressed.lib and object C:\UnrealEngine\Engine\Plugins\Runtime\GameplayAbilities\Intermediate\Build\Win64\UE4Editor\Development\GameplayAbilitiesEditor\UE4Editor-GameplayAbilitiesEditor.suppressed.exp
  [4548/4561] UE4Editor.exe
     Creating library C:\UnrealEngine\Engine\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor.suppressed.lib and object C:\UnrealEngine\Engine\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor.suppressed.exp
  [4549/4561] UE4Editor-VirtualCamera.dll
     Creating library C:\UnrealEngine\Engine\Plugins\Experimental\VirtualCamera\Intermediate\Build\Win64\UE4Editor\Development\VirtualCamera\UE4Editor-VirtualCamera.suppressed.lib and object C:\UnrealEngine\Engine\Plugins\Experimental\VirtualCamera\Intermediate\Build\Win64\UE4Editor\Development\VirtualCamera\UE4Editor-VirtualCamera.suppressed.exp
  [4550/4561] UE4Editor-PixelStreaming.dll
     Creating library C:\UnrealEngine\Engine\Plugins\Media\PixelStreaming\Intermediate\Build\Win64\UE4Editor\Development\PixelStreaming\UE4Editor-PixelStreaming.suppressed.lib and object C:\UnrealEngine\Engine\Plugins\Media\PixelStreaming\Intermediate\Build\Win64\UE4Editor\Development\PixelStreaming\UE4Editor-PixelStreaming.suppressed.exp
  [4551/4561] UE4Editor-DatasmithImporter.dll
     Creating library C:\UnrealEngine\Engine\Plugins\Enterprise\DatasmithImporter\Intermediate\Build\Win64\UE4Editor\Development\DatasmithImporter\UE4Editor-DatasmithImporter.suppressed.lib and object C:\UnrealEngine\Engine\Plugins\Enterprise\DatasmithImporter\Intermediate\Build\Win64\UE4Editor\Development\DatasmithImporter\UE4Editor-DatasmithImporter.suppressed.exp
  [4552/4561] UE4Editor-USDExporter.dll
     Creating library C:\UnrealEngine\Engine\Plugins\Importers\USDImporter\Intermediate\Build\Win64\UE4Editor\Development\USDExporter\UE4Editor-USDExporter.suppressed.lib and object C:\UnrealEngine\Engine\Plugins\Importers\USDImporter\Intermediate\Build\Win64\UE4Editor\Development\USDExporter\UE4Editor-USDExporter.suppressed.exp
  [4553/4561] UE4Editor-CameraCalibrationEditor.dll
     Creating library C:\UnrealEngine\Engine\Plugins\VirtualProduction\CameraCalibration\Intermediate\Build\Win64\UE4Editor\Development\CameraCalibrationEditor\UE4Editor-CameraCalibrationEditor.suppressed.lib and object C:\UnrealEngine\Engine\Plugins\VirtualProduction\CameraCalibration\Intermediate\Build\Win64\UE4Editor\Development\CameraCalibrationEditor\UE4Editor-CameraCalibrationEditor.suppressed.exp
  [4554/4561] UE4Editor-ControlRigEditor.dll
     Creating library C:\UnrealEngine\Engine\Plugins\Experimental\ControlRig\Intermediate\Build\Win64\UE4Editor\Development\ControlRigEditor\UE4Editor-ControlRigEditor.suppressed.lib and object C:\UnrealEngine\Engine\Plugins\Experimental\ControlRig\Intermediate\Build\Win64\UE4Editor\Development\ControlRigEditor\UE4Editor-ControlRigEditor.suppressed.exp
  [4555/4561] UE4Editor-DetailCustomizations.dll
     Creating library C:\UnrealEngine\Engine\Intermediate\Build\Win64\UE4Editor\Development\DetailCustomizations\UE4Editor-DetailCustomizations.suppressed.lib and object C:\UnrealEngine\Engine\Intermediate\Build\Win64\UE4Editor\Development\DetailCustomizations\UE4Editor-DetailCustomizations.suppressed.exp
  [4556/4561] UE4Editor-NiagaraEditor.dll
     Creating library C:\UnrealEngine\Engine\Plugins\FX\Niagara\Intermediate\Build\Win64\UE4Editor\Development\NiagaraEditor\UE4Editor-NiagaraEditor.suppressed.lib and object C:\UnrealEngine\Engine\Plugins\FX\Niagara\Intermediate\Build\Win64\UE4Editor\Development\NiagaraEditor\UE4Editor-NiagaraEditor.suppressed.exp
  [4557/4561] UE4Editor-UnrealEd.dll
     Creating library C:\UnrealEngine\Engine\Intermediate\Build\Win64\UE4Editor\Development\UnrealEd\UE4Editor-UnrealEd.suppressed.lib and object C:\UnrealEngine\Engine\Intermediate\Build\Win64\UE4Editor\Development\UnrealEd\UE4Editor-UnrealEd.suppressed.exp
The command 'cmd /S /C .\Engine\Build\BatchFiles\Build.bat UE4Editor Win64 Development -WaitMutex && echo. && echo.RUN directive complete. Docker will now commit the filesystem layer to disk. && echo.Note that for large filesystem layers this can take quite some time. && echo.Performing filesystem layer commit... && echo.' returned a non-zero code: 6
[ue4-docker build] Error: failed to build image "adamrehn/ue4-engine:4.27-ltsc2019-vs2019".

Thanks in advance

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 26 (1 by maintainers)

Commits related to this issue

Most upvoted comments

Another update from Epics:

Martin Sevigny (Epic Games)

an hour ago I confirmed that the change will get rolled in a future release of 4.27. You can just remove the references to the macro in the mean time.

So maybe we just… wait? 😄

Regarding compatibility of newer SDKs with older Engine versions, the Windows SDK is supposed to be fully backwards compatible, right? We’d definitely still want to verify that rather than just taking Microsoft’s word for it, but in theory it should be safe to use a newer SDK version to build older software.

Oh, I forgot one more aspect. We can have different SDKs for VS2017 and VS2019. And this does make sense because newer engines (UE5) already dropped VS2017 support and they will definitely drop SDK 17763 sooner or later.

So, option G: use newer SDK for VS2019 ue4-build-prerequisites. Claim that broken 4.27.0 is only supported for VS2019.

I think I like this option the most.

P.S. VS2019 is supported since 4.25 that already contains a fix for SDK >= 18362.

Created UDN ticker for this issue: https://udn.unrealengine.com/s/question/0D54z000079HcjJCAS/d3d12h427-error-c4668-winapipartitiongames-is-not-defined-as-a-preprocessor-macro-replacing-with-0-for-ifelif

If Epics restore pre-18362 Windows SDK compatibility in 4.27.x, I’d suggest doing nothing on our side for now.