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?

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.

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