diff --git a/SPIRV/GlslangToSpv.h b/SPIRV/GlslangToSpv.h
index 97b280ca3a8b48b6c1a1e3fc05f2d68cef211ed1..428cfb6a7d997df51ef04d4a1d364d9341614af6 100644
--- a/SPIRV/GlslangToSpv.h
+++ b/SPIRV/GlslangToSpv.h
@@ -32,6 +32,10 @@
 //ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 //POSSIBILITY OF SUCH DAMAGE.
 
+#if _MSC_VER >= 1900
+    #pragma warning(disable : 4464) // relative include path contains '..'
+#endif
+
 #include "../glslang/Include/intermediate.h"
 
 #include <string>
diff --git a/glslang/Include/Common.h b/glslang/Include/Common.h
index efb78d44f8c8fac3bbbea4d03ec729f2a627fbff..368d8746d670761a4222d9b18a1d69ef0792cf5e 100644
--- a/glslang/Include/Common.h
+++ b/glslang/Include/Common.h
@@ -81,6 +81,10 @@ inline long long int atoll (const char* str)
     #pragma warning(disable : 4201) // nameless union
 #endif
 
+#if _MSC_VER >= 1900
+    #pragma warning(disable : 4464) // relative include path contains '..'
+#endif
+
 #include <set>
 #include <unordered_set>
 #include <vector>
diff --git a/glslang/Include/intermediate.h b/glslang/Include/intermediate.h
index d9982a3af5dfcd969126c1473678f26033a59b66..06869e59010d8a9824f6917b02072980d4de7511 100644
--- a/glslang/Include/intermediate.h
+++ b/glslang/Include/intermediate.h
@@ -46,6 +46,11 @@
 #ifndef __INTERMEDIATE_H
 #define __INTERMEDIATE_H
 
+#if _MSC_VER >= 1900
+	#pragma warning( disable : 4464 )	// relative include path contains '..'
+	#pragma warning( disable : 5026	)	// 'glslang::TIntermUnary': move constructor was implicitly defined as deleted
+#endif
+
 #include "../Include/Common.h"
 #include "../Include/Types.h"
 #include "../Include/ConstantUnion.h"