Description

There are some pre-processor checks in the Engine code that look for the version of MSC that was introduced with Visual Studio 2017 (eg. #if _MSC_VER == 1900). However, this does not take into consideration any subsequent versions of MSC (the current version is 1913 with Visual Studio 2017 15.6). These checks may need to be changed to #if _MSC_VER >= 1900, since they are for code specific to Visual Studio 2017.

Build failures have been reported due to the current checks, though I have not been able to reproduce those failures myself (possibly due to having both VS 2015 and VS 2017 installed).

Steps to Reproduce
  1. Locate and open the WmfMediaSink.cpp and WmfMediaStreamSink.cpp files.
  2. Locate the #if _MSC_VER == 1900 line in each file (~406 in WmfMediaSink.cpp and ~661 in WmfMediaStreamSink.cpp).

RESULT:
The preprocessor check looks for a specific MSC version (1900) that was introduced with Visual Studio 2017. It does not take into consideration any subsequent versions of MSC.

EXPECTED:
The preprocessor check looks for any version of MSC from 1900 and on (eg. #if _MSC_VER >= 1900).

Have Comments or More Details?

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

0
Login to Vote

Cannot Reproduce
ComponentUE - Foundation - Core
Affects Versions4.18.34.20
Target Fix4.21
CreatedMay 8, 2018
ResolvedOct 2, 2018
UpdatedNov 7, 2018