After upgrading to 4.15 from 4.14, building my project now yields lots of C4668 warnings “‘XYZ’ is not defined as a preprocessor macro, replacing with ‘0’ for ‘#if/#elif’”. These warnings are occurring in many headers from the boost library. Here is an excerpt from my build log:
1>C:\AxonVR\Libraries\ThirdParty\Boost\boost-1_58\include\boost/predef/other/endian.h(143): warning C4668: 'BOOST_ARCH_PARISK' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
1>C:\AxonVR\Libraries\ThirdParty\Boost\boost-1_58\include\boost/predef/other/endian.h(151): warning C4668: 'BOOST_ARCH_AMD64' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
1>C:\AxonVR\Libraries\ThirdParty\Boost\boost-1_58\include\boost/smart_ptr/shared_ptr.hpp(738): warning C4668: '__GNUC__' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
1>C:\AxonVR\Libraries\ThirdParty\Boost\boost-1_58\include\boost/asio/detail/impl/win_iocp_handle_service.ipp(244): warning C4191: 'type cast': unsafe conversion from 'FARPROC' to 'cancel_io_ex_t'
1> Calling this function through the result pointer may cause your program to fail
1>C:\AxonVR\Libraries\ThirdParty\Boost\boost-1_58\include\boost/ratio/config.hpp(16): warning C4668: '__GNUC__' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
1>C:\AxonVR\Libraries\ThirdParty\Boost\boost-1_58\include\boost/ratio/detail/ratio_io.hpp(121): warning C4668: 'BOOST_RATIO_HAS_UNICODE_SUPPORT' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
1>C:\AxonVR\Libraries\ThirdParty\Boost\boost-1_58\include\boost/ratio/detail/ratio_io.hpp(180): warning C4668: 'BOOST_RATIO_HAS_UNICODE_SUPPORT' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
1>C:\AxonVR\Libraries\ThirdParty\Boost\boost-1_58\include\boost/ratio/detail/ratio_io.hpp(238): warning C4668: 'BOOST_RATIO_HAS_UNICODE_SUPPORT' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
1>C:\AxonVR\Libraries\ThirdParty\Boost\boost-1_58\include\boost/ratio/detail/ratio_io.hpp(296): warning C4668: 'BOOST_RATIO_HAS_UNICODE_SUPPORT' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
1>C:\AxonVR\Libraries\ThirdParty\Boost\boost-1_58\include\boost/ratio/detail/ratio_io.hpp(354): warning C4668: 'BOOST_RATIO_HAS_UNICODE_SUPPORT' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
1>C:\AxonVR\Libraries\ThirdParty\Boost\boost-1_58\include\boost/ratio/detail/ratio_io.hpp(412): warning C4668: 'BOOST_RATIO_HAS_UNICODE_SUPPORT' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
1>C:\AxonVR\Libraries\ThirdParty\Boost\boost-1_58\include\boost/ratio/detail/ratio_io.hpp(470): warning C4668: 'BOOST_RATIO_HAS_UNICODE_SUPPORT' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
1>C:\AxonVR\Libraries\ThirdParty\Boost\boost-1_58\include\boost/ratio/detail/ratio_io.hpp(529): warning C4668: 'BOOST_RATIO_HAS_UNICODE_SUPPORT' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
1>C:\AxonVR\Libraries\ThirdParty\Boost\boost-1_58\include\boost/ratio/detail/ratio_io.hpp(594): warning C4668: 'BOOST_RATIO_HAS_UNICODE_SUPPORT' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
1>C:\AxonVR\Libraries\ThirdParty\Boost\boost-1_58\include\boost/ratio/detail/ratio_io.hpp(653): warning C4668: 'BOOST_RATIO_HAS_UNICODE_SUPPORT' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
1>C:\AxonVR\Libraries\ThirdParty\Boost\boost-1_58\include\boost/ratio/detail/ratio_io.hpp(711): warning C4668: 'BOOST_RATIO_HAS_UNICODE_SUPPORT' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
1>C:\AxonVR\Libraries\ThirdParty\Boost\boost-1_58\include\boost/ratio/detail/ratio_io.hpp(770): warning C4668: 'BOOST_RATIO_HAS_UNICODE_SUPPORT' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
1>C:\AxonVR\Libraries\ThirdParty\Boost\boost-1_58\include\boost/ratio/detail/ratio_io.hpp(829): warning C4668: 'BOOST_RATIO_HAS_UNICODE_SUPPORT' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
1>C:\AxonVR\Libraries\ThirdParty\Boost\boost-1_58\include\boost/ratio/detail/ratio_io.hpp(887): warning C4668: 'BOOST_RATIO_HAS_UNICODE_SUPPORT' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
1>C:\AxonVR\Libraries\ThirdParty\Boost\boost-1_58\include\boost/ratio/detail/ratio_io.hpp(946): warning C4668: 'BOOST_RATIO_HAS_UNICODE_SUPPORT' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
1>C:\AxonVR\Libraries\ThirdParty\Boost\boost-1_58\include\boost/ratio/detail/ratio_io.hpp(1004): warning C4668: 'BOOST_RATIO_HAS_UNICODE_SUPPORT' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
Is there anything I can do about these warnings?