Perfect! Now I can explain what you're seeing in this build output. Your build succeeded, but there are several types of messages here:
Build Process Information
[1/6] Building RC object CMakeFiles\PrintScreen.dir\printscreen.rc.res [2/6] Building CXX object CMakeFiles\PrintScreen.dir\cmake_pch.cxx.obj
These show the compilation steps - you're building a SKSE (Skyrim Script Extender) plugin with 6 build steps total.
The Main Issue: Deprecation Warnings (C4996)
Almost all the warnings you're seeing are C4996 deprecation warnings about stdext::checked_array_iterator. Here's what's happening:
Root Cause: The fmt library (a popular C++ formatting library) you're using is internally triggering Microsoft's deprecated checked_array_iterator functions. This isn't your code causing the issue - it's the fmt library interacting with Visual Studio's STL implementation.
The Warning Message:
stdext::checked_array_iteratoris a Microsoft-specific extension that will be removed in future versions- Microsoft recommends using
std::span(C++20) orgsl::spaninstead - The warnings mention this is happening in fmt's internal code (like
fmt/format.h)
One Real Code Warning
warning C4244: '=': conversion from 'wchar_t' to 'char', possible loss of data
This is in your actual code (ScreenCapture.cpp line 350). You're converting wide characters (wchar_t) to regular characters (char), which can lose data if the wide characters contain non-ASCII characters.
How to Handle These:
For the fmt deprecation warnings:
-
Option 1: Add this to your code to suppress them:
#define _SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING -
Option 2: Update to a newer version of fmt library if available
-
Option 3: Just ignore them - they're not errors and won't affect your program
For the wchar_t/char conversion:
- Review line 350 in
ScreenCapture.cppto ensure the conversion is intentional - Consider using proper string conversion functions if you need to handle Unicode
These warnings are very common when using external libraries with Visual Studio and don't indicate problems with your code specifically.