diff --git a/Externals/WiiUse/Src/definitions.h b/Externals/WiiUse/Src/definitions.h
index f24d688ee4..05519bd5d4 100644
--- a/Externals/WiiUse/Src/definitions.h
+++ b/Externals/WiiUse/Src/definitions.h
@@ -34,6 +34,7 @@
#ifndef DEFINITIONS_H_INCLUDED
#define DEFINITIONS_H_INCLUDED
+#ifndef WIN32
#include "Log.h"
// NOTICE_LEVEL is more appropriate for the uses of WIIUSE_INFO than INFO_LEVEL
@@ -42,6 +43,32 @@
#define WIIUSE_ERROR(...) { GENERIC_LOG(WIIMOTE, ERROR_LEVEL, __VA_ARGS__) }
#define WIIUSE_WARNING(...) { GENERIC_LOG(WIIMOTE, WARNING_LEVEL, __VA_ARGS__) }
#define WIIUSE_DEBUG(...) { GENERIC_LOG(WIIMOTE, DEBUG_LEVEL, __VA_ARGS__) }
+#else
+
+/* disable warnings I don't care about */
+#pragma warning(disable:4244) /* possible loss of data conversion */
+#pragma warning(disable:4273) /* inconsistent dll linkage */
+#pragma warning(disable:4217)
+
+
+#define WIIUSE_ERROR(fmt, ...) fprintf(stderr, "[ERROR] " fmt "\n", ##__VA_ARGS__)
+
+#define WIIUSE_WARNING(fmt, ...) fprintf(stderr, "[WARNING] " fmt "\n", ##__VA_ARGS__)
+
+#define WIIUSE_INFO(fmt, ...) fprintf(stderr, "[INFO] " fmt "\n", ##__VA_ARGS__)
+
+#ifdef WITH_WIIUSE_DEBUG
+#define WIIUSE_DEBUG(fmt, ...) do { \
+char* file = __FILE__; \
+ int i = strlen(file) - 1; \
+ for (; i && (file[i] != '\\'); --i); \
+ fprintf(stderr, "[DEBUG] %s:%i: " fmt "\n", file+i+1, __LINE__, ##__VA_ARGS__); \
+ } while (0)
+#else
+#define WIIUSE_DEBUG(fmt, ...)
+#endif
+
+#endif
/* Convert to big endian */
#define BIG_ENDIAN_LONG(i) (htonl(i))
diff --git a/Externals/WiiUse/Win32/wiiuse.dll b/Externals/WiiUse/Win32/wiiuse.dll
index 61c515649d..2edeb22052 100644
Binary files a/Externals/WiiUse/Win32/wiiuse.dll and b/Externals/WiiUse/Win32/wiiuse.dll differ
diff --git a/Externals/WiiUse/Win32/wiiuse.lib b/Externals/WiiUse/Win32/wiiuse.lib
index 4b023d5207..47ff73a1ed 100644
Binary files a/Externals/WiiUse/Win32/wiiuse.lib and b/Externals/WiiUse/Win32/wiiuse.lib differ
diff --git a/Externals/WiiUse/X64/wiiuse.dll b/Externals/WiiUse/X64/wiiuse.dll
index dc4c14798e..b8de62db4f 100644
Binary files a/Externals/WiiUse/X64/wiiuse.dll and b/Externals/WiiUse/X64/wiiuse.dll differ
diff --git a/Externals/WiiUse/X64/wiiuse.lib b/Externals/WiiUse/X64/wiiuse.lib
index d2466cd818..419dceb614 100644
Binary files a/Externals/WiiUse/X64/wiiuse.lib and b/Externals/WiiUse/X64/wiiuse.lib differ
diff --git a/Externals/WiiUse/wiiuse.vcproj b/Externals/WiiUse/wiiuse.vcproj
index d6476a9607..a18e08c208 100644
--- a/Externals/WiiUse/wiiuse.vcproj
+++ b/Externals/WiiUse/wiiuse.vcproj
@@ -53,7 +53,7 @@
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="2"
- AdditionalIncludeDirectories="C:\WinDDK\7600.16385.0\inc\api;C:\WinDDK\7600.16385.0\inc\crt;..\..\Source\Core\Common\Src;"
+ AdditionalIncludeDirectories="C:\WinDDK\7600.16385.0\inc\api;C:\WinDDK\7600.16385.0\inc\crt;"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;WIIUSE_EXPORTS"
IgnoreStandardIncludePath="true"
StringPooling="true"
@@ -79,11 +79,11 @@
/>