--- oidn-1.1.0/common/platform.h.orig	2020-02-17 21:22:19.752042900 +0300
+++ oidn-1.1.0/common/platform.h	2020-02-17 21:22:32.447567400 +0300
@@ -18,7 +18,6 @@
 
 #if defined(_WIN32)
   #define WIN32_LEAN_AND_MEAN
-  #define NOMINMAX
   #include <Windows.h>
 #elif defined(__APPLE__)
   #include <sys/sysctl.h>
--- oidn-1.1.0/mkl-dnn/src/common/verbose.cpp.orig	2020-02-17 21:23:32.239476100 +0300
+++ oidn-1.1.0/mkl-dnn/src/common/verbose.cpp	2020-02-17 21:23:48.791811700 +0300
@@ -60,7 +60,6 @@
 
 static verbose_t verbose;
 static bool initialized;
-static bool version_printed = false;
 
 const verbose_t *mkldnn_verbose() {
 #if !defined(DISABLE_VERBOSE)
--- oidn-1.1.0/examples/denoise.cpp.orig	2020-02-17 21:25:26.696744400 +0300
+++ oidn-1.1.0/examples/denoise.cpp	2020-02-17 21:26:15.309259200 +0300
@@ -241,7 +241,7 @@
       int nerr = 0;
       float maxre = 0;
 
-      for (size_t i = 0; i < output.getDataSize(); ++i)
+      for (int i = 0; i < output.getDataSize(); ++i)
       {
         float expect = std::max(ref[i], 0.f);
         const float actual = output[i];
--- oidn-1.1.0/mkl-dnn/cmake/platform.cmake.orig	2019-10-15 04:51:08 +0000
+++ oidn-1.1.0/mkl-dnn/cmake/platform.cmake	2021-04-18 14:42:43 +0000
@@ -78,7 +78,6 @@
     add_definitions(-D_CRT_SECURE_NO_WARNINGS)
 elseif(UNIX OR MINGW)
     append(CMAKE_CCXX_FLAGS "-Wall -Wno-unknown-pragmas")
-    append_if_product(CMAKE_CCXX_FLAGS "-Werror")
     append(CMAKE_CCXX_FLAGS "-fvisibility=internal")
     append(CMAKE_C_FLAGS "-std=c99")
     append(CMAKE_CXX_FLAGS "-std=c++11 -fvisibility-inlines-hidden")
