Upgrading to 5.3- bEnableUndefinedIdentifierWarnings doesn't seem to work

I’m working on updating a project from 5.1 to 5.3. However, when I compile I’m getting error C4668: 'AWS_USE_IO_COMPLETION_PORTS' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'

Previously setting bEnableUndefinedIdentifierWarnings = false; was all that it took to ignore this in my plugin but that doesn’t seem to work. Any ideas?

2 Likes

Have a very similar problem with cereal

'__GNUC__' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'

Interestingly, the warning wasn’t even there before upgrading to 5.3 (or maybe it was but wasn’t surfaced anywhere)
Just like you, bEnableUndefinedIdentifierWarnings = false; didn’t do anything. So in my case, I have disabled the warning with pragma:

#pragma warning(disable: 4668)

Just above the line that was warning/erroring in the cereal file.

This doesn’t seem right, if i ever need to update the lib this will break again. And also, this is a warning, why does ue treat it as an error is not at all obvious to me, so if someone has a better idea what to do with this, I’d be really interested. But for now, I guess this will have to do.
Anyway, rant over, hope this helps.

1 Like

This worked for me. Hopefully we get the real solution, but this fixes things for now. Thanks!

In the end for the aws sdk, for windows platform, i prefer to add this PublicDefinitions.Add(“AWS_USE_IO_COMPLETION_PORTS=1”); so that i could avoid editing the sdk files directly.

I have the same issue. Sure, with #pragma it got fixed but it means I had to change a file of the aws SDK that i prefer not to change. Would be nice if this flag get fixed.

Same issue for me, looks like the flag is broken in UE 5.3
#pragma warning(disable: 4668)
This fixed the issue, but i wonder if its a good solution

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.