Migrate c++ project form 4.26 to 4.27 error

Hi,
I am trying to migrate a project from 4.26 to 4.27 and when i am compiling the project get some platform.h error

Using Visual Studio 2019 14.29.30133 toolchain (<inst_path>\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133) and Windows 10.0.18362.0 SDK (<inst_path>\Windows Kits\10).
Building 25 actions with 8 processes...
  @progress 'Compiling C++ source code...' 0%
  @progress 'Compiling C++ source code...' 4%
  [1/25] Default.rc2
  ...
  @progress 'Compiling C++ source code...' 88%
  [22/25] CharSkillCharacter.cpp
  <inst_path>\Windows Kits\10\include\10.0.18362.0\um\winnt.h(603): warning C4005: 'TEXT': macro redefinition
  <UE_inst_path>\UE_4.27\Engine\Source\Runtime\Core\Public\HAL/Platform.h(1085): note: see previous definition of 'TEXT'
  <inst_path>\Windows Kits\10\include\10.0.18362.0\um\winioctl.h(10229): error C4668: '_WIN32_WINNT_WIN10_TH2' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
  <inst_path>\Windows Kits\10\include\10.0.18362.0\um\winioctl.h(10235): error C4668: '_WIN32_WINNT_WIN10_RS1' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
  <inst_path>\Windows Kits\10\include\10.0.18362.0\um\winioctl.h(10240): error C4668: '_WIN32_WINNT_WIN10_TH2' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
  <inst_path>\Windows Kits\10\include\10.0.18362.0\um\winioctl.h(10244): error C4668: '_WIN32_WINNT_WIN10_TH2' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
  <inst_path>\Windows Kits\10\include\10.0.18362.0\um\winioctl.h(10251): error C4668: '_WIN32_WINNT_WIN10_RS2' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
  <inst_path>\Windows Kits\10\include\10.0.18362.0\um\winioctl.h(10261): error C4668: '_WIN32_WINNT_WIN10_RS2' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
  <inst_path>\Windows Kits\10\include\10.0.18362.0\um\winioctl.h(10265): error C4668: '_WIN32_WINNT_WIN10_TH2' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
  <inst_path>\Windows Kits\10\include\10.0.18362.0\um\winioctl.h(10270): error C4668: '_WIN32_WINNT_WIN10_RS3' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
  <inst_path>\Windows Kits\10\include\10.0.18362.0\um\winioctl.h(10277): error C4668: '_WIN32_WINNT_WIN10_RS4' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
  <inst_path>\Windows Kits\10\include\10.0.18362.0\um\winioctl.h(10280): error C4668: '_WIN32_WINNT_WIN10_RS1' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
  <inst_path>\Windows Kits\10\include\10.0.18362.0\um\winioctl.h(10283): error C4668: '_WIN32_WINNT_WIN10_RS4' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
  <inst_path>\Windows Kits\10\include\10.0.18362.0\um\winioctl.h(10288): error C4668: '_WIN32_WINNT_WIN10_RS1' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
  <inst_path>\Windows Kits\10\include\10.0.18362.0\um\winioctl.h(10291): error C4668: '_WIN32_WINNT_WIN10_RS5' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
  <inst_path>\Windows Kits\10\include\10.0.18362.0\um\winioctl.h(10486): error C4668: '_WIN32_WINNT_WIN10_RS2' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
  <inst_path>\Windows Kits\10\include\10.0.18362.0\um\winioctl.h(10510): error C4668: '_WIN32_WINNT_WIN10_RS5' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
  <inst_path>\Windows Kits\10\include\10.0.18362.0\um\winioctl.h(13950): error C4668: '_WIN32_WINNT_WIN10_RS5' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
  <inst_path>\Windows Kits\10\include\10.0.18362.0\um\winioctl.h(15111): error C4668: '_WIN32_WINNT_WIN10_RS3' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
  <inst_path>\Windows Kits\10\include\10.0.18362.0\um\winioctl.h(15128): error C4668: '_WIN32_WINNT_WIN10_RS3' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
  <inst_path>\Windows Kits\10\include\10.0.18362.0\um\winioctl.h(15147): error C4668: '_WIN32_WINNT_WIN10_RS2' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
  <inst_path>\Windows Kits\10\include\10.0.18362.0\um\winioctl.h(15266): error C4668: '_WIN32_WINNT_WIN10_RS3' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
  <inst_path>\Windows Kits\10\include\10.0.18362.0\um\winioctl.h(15416): error C4668: '_WIN32_WINNT_WIN10_RS4' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
  <inst_path>\Windows Kits\10\include\10.0.18362.0\um\winioctl.h(15429): error C4668: '_WIN32_WINNT_WIN10_RS4' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
  <inst_path>\Windows Kits\10\include\10.0.18362.0\um\winioctl.h(15657): error C4668: '_WIN32_WINNT_WIN10_RS1' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'

After this version change I came back to 4.26 and works fine, also update all the VS components and seems like the error persist to migrate to 4.27.

I did not find any report of this on the release post on the forums.

Hi,

Here is a thread with a similar issue: https://forums.unrealengine.com/t/suddenly-cant-compile-error-c4668/131945/5; and I personally have experienced this problem, and used the solution provided in the thread.

For some reason, my IDE adds weird includes from time to time; probably a result of auto-complete or auto include depending on keywords or something of this nature. Can you check in your CharSkillCharacter.cpp if any new includes have been added, or if there are any strange includes that you do not recognize?