diff --git a/externals/microprofile/microprofile.h b/externals/microprofile/microprofile.h
index d1ae0c1c2..30613b3b0 100644
--- a/externals/microprofile/microprofile.h
+++ b/externals/microprofile/microprofile.h
@@ -206,7 +206,7 @@ int64_t MicroProfileGetTick();
 #define MP_GETCURRENTTHREADID() GetCurrentThreadId()
 typedef uint32_t ThreadIdType;
 
-#elif defined(__linux__)
+#elif !defined(_WIN32)
 #include <unistd.h>
 #include <time.h>
 inline int64_t MicroProfileTicksPerSecondCpu()
@@ -510,7 +510,7 @@ typedef int MpSocket;
 #endif
 
 
-#if defined(__APPLE__) || defined(__linux__)
+#ifndef _WIN32
 typedef pthread_t MicroProfileThread;
 #elif defined(_WIN32)
 typedef HANDLE MicroProfileThread;
@@ -907,7 +907,7 @@ int64_t MicroProfileGetTick()
 
 typedef void* (*MicroProfileThreadFunc)(void*);
 
-#if defined(__APPLE__) || defined(__linux__)
+#ifndef _WIN32
 typedef pthread_t MicroProfileThread;
 void MicroProfileThreadStart(MicroProfileThread* pThread, MicroProfileThreadFunc Func)
 {
@@ -959,7 +959,7 @@ inline void MicroProfileThreadJoin(MicroProfileThread* pThread)
 #define MP_INVALID_SOCKET(f) (f == INVALID_SOCKET)
 #endif
 
-#if defined(__APPLE__)
+#ifndef _WIN32
 #include <sys/socket.h>
 #include <netinet/in.h>
 #include <fcntl.h>
diff --git a/externals/microprofile/microprofileui.h b/externals/microprofile/microprofileui.h
index 45bec8af6..66a73abc5 100644
--- a/externals/microprofile/microprofileui.h
+++ b/externals/microprofile/microprofileui.h
@@ -172,6 +172,7 @@ MICROPROFILEUI_API void MicroProfileCustomGroupAddTimer(const char* pCustomName,
 #ifdef _WIN32
 #define snprintf _snprintf
 #endif
+#include <stdio.h>
 #include <stdlib.h>
 #include <stdarg.h>
 #include <math.h>