diff --git a/CMakeLists.txt b/CMakeLists.txt
index 384d2d96f54921cd675a60acf2d167937449f0c0..22eb2291458f9a31aeeacf8379a978fc614ea04c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -42,6 +42,10 @@ if (vkcv_build_debug)
 	endif()
 endif()
 
+if ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "10.0.0"))
+	set(vkcv_flags ${vkcv_flags} " -std=c++2a")
+endif()
+
 # configure everything to use the required dependencies
 include(${vkcv_config}/Libraries.cmake)
 
diff --git a/include/vkcv/Event.hpp b/include/vkcv/Event.hpp
index a17de57201f8e62bf258aad1e5a26e4766204d4b..edb8131a3afc8d6f65750731f67d94450fadb016 100644
--- a/include/vkcv/Event.hpp
+++ b/include/vkcv/Event.hpp
@@ -97,8 +97,11 @@ namespace vkcv {
 #endif
         }
 
-        explicit event(bool locked = false) :
-		m_semaphore(locked? 1 : 0) {}
+        explicit event(bool locked = false)
+#ifndef __MINGW32__
+		: m_semaphore(locked? 1 : 0)
+#endif
+		{}
 
         event(const event &other) = delete;