diff --git a/CMakeLists.txt b/CMakeLists.txt
index 191f108..a7b1f46 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,7 +1,7 @@
 cmake_minimum_required(VERSION 3.16)
 
 project(RelayFile VERSION 0.1.0 LANGUAGES CXX)
-set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD 17)
 set(CMAKE_CXX_STANDARD_REQUIRED ON)
 
 if (MSVC)
diff --git a/ClientCore/CMakeLists.txt b/ClientCore/CMakeLists.txt
index c56783b..dd1f63b 100644
--- a/ClientCore/CMakeLists.txt
+++ b/ClientCore/CMakeLists.txt
@@ -1,7 +1,7 @@
 cmake_minimum_required(VERSION 3.16)
 
 project(ClientCore LANGUAGES CXX)
-set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD 17)
 set(CMAKE_CXX_STANDARD_REQUIRED ON)
 
 find_package(wxWidgets CONFIG REQUIRED) 
@@ -10,7 +10,6 @@ set(MSOURCES
 ClientCore.h
 ClientCore.cxx
 Infomation/DirFile.hpp
-Infomation/InfoHeader.hpp
 )
 
 add_library(ClientCore STATIC ${MSOURCES})
diff --git a/Protocol/CMakeLists.txt b/Protocol/CMakeLists.txt
index 05aab27..ee9c9e6 100644
--- a/Protocol/CMakeLists.txt
+++ b/Protocol/CMakeLists.txt
@@ -1,7 +1,7 @@
 cmake_minimum_required(VERSION 3.16)
 
 project(Protocol LANGUAGES CXX)
-set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD 14)
 set(CMAKE_CXX_STANDARD_REQUIRED ON)
 
 find_package(wxWidgets CONFIG REQUIRED) 
diff --git a/RelayServer/CMakeLists.txt b/RelayServer/CMakeLists.txt
index 3b34106..bcfa1a8 100644
--- a/RelayServer/CMakeLists.txt
+++ b/RelayServer/CMakeLists.txt
@@ -1,7 +1,7 @@
 cmake_minimum_required(VERSION 3.16)
 
 project(RelayServer LANGUAGES CXX)
-set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD 17)
 set(CMAKE_CXX_STANDARD_REQUIRED ON)
 
 find_package(wxWidgets CONFIG REQUIRED) 
diff --git a/RelayServer/RelayServer.h b/RelayServer/RelayServer.h
index 897519d..eb8257a 100644
--- a/RelayServer/RelayServer.h
+++ b/RelayServer/RelayServer.h
@@ -5,6 +5,7 @@
 #include <array>
 #include <chrono>
 #include <cstdint>
+#include <memory>
 #include <shared_mutex>
 #include <thread>
 #include <unordered_map>
diff --git a/UserInterface/CMakeLists.txt b/UserInterface/CMakeLists.txt
index 4e64cc5..cd52918 100644
--- a/UserInterface/CMakeLists.txt
+++ b/UserInterface/CMakeLists.txt
@@ -1,7 +1,7 @@
 cmake_minimum_required(VERSION 3.16)
 
 project(RemoteTran LANGUAGES CXX)
-set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD 17)
 set(CMAKE_CXX_STANDARD_REQUIRED ON)
 
 set(MSOURCES
diff --git a/Util/CMakeLists.txt b/Util/CMakeLists.txt
index deb72a1..6f1b32e 100644
--- a/Util/CMakeLists.txt
+++ b/Util/CMakeLists.txt
@@ -1,7 +1,7 @@
 cmake_minimum_required(VERSION 3.16)
 
 project(Util LANGUAGES CXX)
-set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD 17)
 set(CMAKE_CXX_STANDARD_REQUIRED ON)
 
 find_package(wxWidgets CONFIG REQUIRED)