diff --git a/CMakeLists.txt b/CMakeLists.txt
index 327958f4..8c6eb80e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,9 @@
cmake_minimum_required(VERSION 3.24)
project(MinecraftConsoles LANGUAGES C CXX RC ASM_MASM)
+set(CMAKE_CXX_STANDARD 17)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+set(CMAKE_CXX_EXTENSIONS OFF)
if(NOT WIN32)
message(FATAL_ERROR "This CMake build currently supports Windows only.")
diff --git a/Minecraft.Client/Minecraft.Client.vcxproj b/Minecraft.Client/Minecraft.Client.vcxproj
index 4d86f036..e574265d 100644
--- a/Minecraft.Client/Minecraft.Client.vcxproj
+++ b/Minecraft.Client/Minecraft.Client.vcxproj
@@ -1567,6 +1567,7 @@ if not exist "$(TargetDir)\savedata" mkdir "$(TargetDir)\savedata"
Default
false
/FS %(AdditionalOptions)
+ stdcpp17
true
@@ -1796,6 +1797,7 @@ xcopy /q /y /i /s /e $(ProjectDir)DurangoMedia\CU $(LayoutDir)Image\Loose\CUtrue
true
/FS /Ob3 %(AdditionalOptions)
+ stdcpp17
true
@@ -1928,6 +1930,7 @@ xcopy /q /y /i /s /e $(ProjectDir)DurangoMedia\CU $(LayoutDir)Image\Loose\CUDefault
false
Speed
+ stdcpp17
true
@@ -2775,6 +2778,7 @@ if not exist "$(TargetDir)\savedata" mkdir "$(TargetDir)\savedata"
true
Disabled
Default
+ stdcpp17
true
@@ -2895,6 +2899,7 @@ if not exist "$(TargetDir)\savedata" mkdir "$(TargetDir)\savedata"
true
Disabled
Default
+ stdcpp17
true
@@ -3015,6 +3020,7 @@ if not exist "$(TargetDir)\savedata" mkdir "$(TargetDir)\savedata"
true
Disabled
Default
+ stdcpp17
true
@@ -3135,6 +3141,7 @@ if not exist "$(TargetDir)\savedata" mkdir "$(TargetDir)\savedata"
true
Disabled
Default
+ stdcpp17
true
diff --git a/Minecraft.World/Minecraft.World.vcxproj b/Minecraft.World/Minecraft.World.vcxproj
index c9191573..b6af9153 100644
--- a/Minecraft.World/Minecraft.World.vcxproj
+++ b/Minecraft.World/Minecraft.World.vcxproj
@@ -1279,6 +1279,7 @@
true
Default
/FS %(AdditionalOptions)
+ stdcpp17
true
@@ -1378,6 +1379,7 @@
true
true
/FS /Ob3 %(AdditionalOptions)
+ stdcpp17
true
@@ -1447,6 +1449,7 @@
true
Default
Speed
+ stdcpp17
true
@@ -1896,6 +1899,7 @@
_TU_BUILD;_FINAL_BUILD;NDEBUG;_XBOX;_LIB;_CONTENT_PACKAGE;_CRT_NON_CONFORMING_SWPRINTFS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
true
Default
+ stdcpp17
true
@@ -1965,6 +1969,7 @@
_TU_BUILD;_FINAL_BUILD;NDEBUG;_XBOX;_LIB;_CONTENT_PACKAGE;_CRT_NON_CONFORMING_SWPRINTFS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
true
Default
+ stdcpp17
true
@@ -2034,6 +2039,7 @@
_TU_BUILD;_FINAL_BUILD;NDEBUG;_XBOX;_LIB;_CONTENT_PACKAGE;_CRT_NON_CONFORMING_SWPRINTFS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
true
Default
+ stdcpp17
true
@@ -2103,6 +2109,7 @@
_TU_BUILD;_FINAL_BUILD;NDEBUG;_XBOX;_LIB;_CONTENT_PACKAGE;_CRT_NON_CONFORMING_SWPRINTFS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
true
Default
+ stdcpp17
true