[spdlog] Waiting for spdlog to update format to avoid warning C4996
roeas opened this issue · 1 comments
roeas commented
VS2022 started marking stdext::checked_array_iterator
as "deprecated" sometime between 17.7.6 and 17.8.2 witch makes our compilation fail.
warning C4996: 'stdext::checked_array_iterator<T *>::_Seek_to': warning STL4043: stdext::checked_array_iterator, stdext::unchecked_array_iterator, and related factory functions are non-Standard extensions and will be removed in the future. std::span (since C++20) and gsl::span can be used instead. You can define _SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING or _SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS to suppress this warning.
Format has fixed this bug.
fmtlib/fmt#3540
But spdlog has not yet updated the format used.
gabime/spdlog#2912
As a temporary solution, we defined _SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING
to suppress warning C4996.
https://github.com/CatDogEngine/CatDogEngine/pull/433
Should update spdlog and remove _SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING
in the future.
roeas commented
Given that the related issue of spdlog is now closed. It looks like spdlog 1.x is hard to upgrade the bundled fmt, but we can use macro to specify an external fmt.