I installed Unreal Engine 4.19.2 today and it expects 2017 to be installed. I do have Visual Studio 2017 installed, but also VS 2015. When I created a new C++/“First Person” project with UE 4.19, it failed with a build error, specifically an Internal Compiler Error - but it showed that it was using VS 2015 and the top of the error stack said the compiler wasn’t up to date. I couldn’t find any option to force the project to build in 2017, but I was able to create a completely blank project, go into the editor, change the Source Code Editor in the preferences to VS 2017, and then exit and try to create a C++ project again, but the same error occurs - it is trying to build it in 2015.
Here’s the exact error:
SharedPCH.Engine.cpp
c:\program files\epic games\ue_4.19\engine\source\runtime\core\public\Windows/WindowsPlatformCompilerSetup.h(19): error C2338: Visual Studio 2015 Update 3 is required to compile on Windows (http://go.microsoft.com/fwlink/?LinkId=691129)
C:\Program Files\Epic Games\UE_4.19\Engine\Source\Runtime\Core\Public\Delegates/IntegerSequence.h(15): error C2061: syntax error: identifier '__make_integer_seq'
C:\Program Files\Epic Games\UE_4.19\Engine\Source\Runtime\Core\Public\Templates/Tuple.h(33): error C3857: 'TTuple': multiple template parameter lists are not allowed
C:\Program Files\Epic Games\UE_4.19\Engine\Source\Runtime\Core\Public\Templates/Tuple.h(38): error C3857: 'TNthTypeFromParameterPack': multiple template parameter lists are not allowed
C:\Program Files\Epic Games\UE_4.19\Engine\Source\Runtime\Core\Public\Templates/Tuple.h(42): error C2988: unrecognizable template declaration/definition
C:\Program Files\Epic Games\UE_4.19\Engine\Source\Runtime\Core\Public\Templates/Tuple.h(42): error C2059: syntax error: '<'
C:\Program Files\Epic Games\UE_4.19\Engine\Source\Runtime\Core\Public\Templates/Tuple.h(48): error C2988: unrecognizable template declaration/definition
C:\Program Files\Epic Games\UE_4.19\Engine\Source\Runtime\Core\Public\Templates/Tuple.h(48): error C2059: syntax error: '<'
C:\Program Files\Epic Games\UE_4.19\Engine\Source\Runtime\Core\Public\Templates/Tuple.h(55): error C2631: 'TDecayedFrontOfParameterPackIsSameType': a class or enum cannot be defined in an alias template
C:\Program Files\Epic Games\UE_4.19\Engine\Intermediate\Build\Win64\UE4Editor\Development\Engine\SharedPCH.Engine.cpp: fatal error C1903: unable to recover from previous error(s); stopping compilation
INTERNAL COMPILER ERROR in 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\cl.exe'
Please choose the Technical Support command on the Visual C++
Help menu, or open the Technical Support help file for more information
ERROR: UBT ERROR: Failed to produce item: E:\code\UE4\FirstPersonTest\Binaries\Win64\UE4Editor-FirstPersonTest.dll
Total build time: 10.85 seconds (Local executor: 0.00 seconds)
It’s using Microsoft Visual Studio 14.0 which is the 2015 edition, but I do have 2017 installed at C:\Program Files (x86)\Microsoft Visual Studio\2017\
Any ideas how I can force UE4 to use the newer compiler?