Description

Attempting to build the Engine using Visual Studio 2017 will fail if Visual Studio 2013 is also installed on the same computer. If Visual Studio 2013 is uninstalled, or if the computer has Visual Studio 2013, 2015, and 2017 all installed, the build will complete successfully.

Steps to Reproduce

SETUP:
This repro requires a computer that has both Visual Studio 2013 and Visual Studio 2017 installed (not Visual Studio 2015), with all necessary dependencies that are needed to work with Unreal Engine 4. Community editions of Visual Studio 2013 and 2017 seem to work fine for this repro.

  1. Download the source code for 4.15 from GitHub as a zip file.
  2. Unzip the source code.
  3. Run Setup.bat.
  4. Open a command prompt in the 4.15 root folder and run the command GenerateProjectFiles.bat -2017.
  5. Open the resulting UE4.sln file in Visual Studio 2017.
  6. Make sure the Solution Configuration is set to Development Editor.
  7. Build the UE4 project.

RESULT:
The build will fail and show the following error: error C2248: 'TUniquePtr<FClassMetaData,TDefaultDelete<T>>::TUniquePtr' : cannot access private member declared in class 'TUniquePtr<FClassMetaData,TDefaultDelete<T>>'

EXPECTED:
The build completes successfully.

WORKAROUND:
Uninstall Visual Studio 2013. This will require the Win 8.1 SDK to be re-installed since uninstalling Visual Studio 2013 also uninstalls the SDK.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-43142 in the post.

3
Login to Vote

Won't Do
ComponentUE - Foundation - Build - Farm
Affects Versions4.15
CreatedMar 21, 2017
ResolvedJun 27, 2017
UpdatedJul 14, 2021