novelrt / NovelRT

A cross-platform 2D game engine accompanied by a strong toolset for visual novels.
MIT License
183 stars 43 forks source link

spdlog causes build issues on latest VS2022 #600

Closed capnkenny closed 1 month ago

capnkenny commented 4 months ago

Note: for support questions, please use the #engine-user-help channel in our Discord or create a discussion. This repository's issues are reserved for feature requests and bug reports.

Describe the issue: The following error is provided by our CI when building in Debug mode on Windows: 'stdext::checked_array_iterator<T*>': 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. [D:\a\NovelRT\NovelRT\build\graphics\NovelRT-Graphics.vcxproj]

Please provide the steps to reproduce if possible:

  1. Clone the repo
  2. Build using the repo's instructions in Debug configuration.
  3. See error

Expected behaviour: Windows Debug builds should succeed properly.

Please tell us about your environment:

Additional context: This is due to internals of spdlog using these factories from the fmt library. Since spdlog typically bundles an older fmt internally but allows for linking to external copies, we should build and link a newer version of fmt that avoids this issue.