In ogre src, there is a reference to __cplusplus define. This macro is bugged on visual studio and always says, 199711L. therefore, when higher c++ version is used, the code generated ends up being error-causing. To fix this error, the makefile must add to the CXX FLAGS the following:
/Zc:__cplusplus
This causes it to return the proper value on recent visual studios/c++.
you can read more here:
https://devblogs.microsoft.com/cppblog/ ... cplusplus/