Steps to Reproduce

4.24 we added a check in CompileEnum of HeaderParser.cpp to check if there is a 0 entry in the enum declaration. however consider the following the codes

UENUM(BlueprintType)

  1. enum class EUSimCameraType :uint8
  2. {
  3. UNKNOWN = USIMAPI_CAMERA_TYPE_UNKNOWN UMETA(DisplayName = "Unknown"),
  4. PINHOLE = USIMAPI_CAMERA_TYPE_PINHOLE UMETA(DisplayName = "PinHole"),
  5. FISHEYE = USIMAPI_CAMERA_TYPE_FISHEYE UMETA(DisplayName = "FishEye")
  6. };

while "USIMAPI_CAMERA_TYPE_UNKNOWN is defined as 0, but users still got the warning. – "'EUSimCameraType' does not have a 0 entry! (This is a problem when the enum is initalized by default)"

And more importantly by default "treat warning as errors" is on in ExternalExecution.cs of UnrealBuildTool, which will lead to build errors.

Have Comments or More Details?

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

24
Login to Vote

Fixed
Fix Commit16706846
Main Commit16706846
CreatedNov 26, 2019
ResolvedJun 17, 2021
UpdatedJul 13, 2021