Setting _CONTAINER_DEBUG_LEVEL for builds that use MSVC's STL

Hello UDN,

My project uses a Microsoft’s standard library. We noticed that even in debug builds, we weren’t getting bounds checking for std::vector.

We tried setting PublicDefinitions.Add("_CONTAINER_DEBUG_LEVEL=1") inside of our projects build.cs. That technically worked, and we were able to trigger an exception as expected.

However, we ran into a bunch of the following warning logs for all cpp files that imported something from STL.

0>[53/58] Compile [x64] Module.MyProject.5.cpp
0>Definitions.MyProject.h(41): Warning C4005 : ‘_CONTAINER_DEBUG_LEVEL’: macro redefinition
0>yvals.h(162): Reference : see previous definition of ‘_CONTAINER_DEBUG_LEVEL’

So my question is, how might I uniformly set _CONTAINER_DEBUG_LEVEL=1 for debug builds inside of Unreal?

Thanks,
Will