--- a/source/adios2/engine/campaign/CampaignData.h
+++ b/source/adios2/engine/campaign/CampaignData.h
@@ -17,6 +17,7 @@
 #include <map>
 #include <string>
 #include <vector>
+#include <cstdint>
 
 #include <sqlite3.h>
 
--- a/thirdparty/EVPath/EVPath/cm.c
+++ b/thirdparty/EVPath/EVPath/cm.c
@@ -3968,7 +3968,7 @@
      return lhs->offset.tv_usec - rhs->offset.tv_usec;
  }
 
-#ifdef _MSC_VER
+#ifdef _WIN32
 static inline void timeradd(struct timeval *a, struct timeval *b,
 							struct timeval *res)
 {
--- a/thirdparty/EVPath/EVPath/cm_schedule.h
+++ b/thirdparty/EVPath/EVPath/cm_schedule.h
@@ -7,7 +7,7 @@
 extern "C" {
 #endif
 
-#ifdef _MSC_VER
+#ifdef _WIN32
 #define FD_SETSIZE 1024
 #include <winsock2.h>
 #endif
--- a/thirdparty/EVPath/EVPath/cmenet.c
+++ b/thirdparty/EVPath/EVPath/cmenet.c
@@ -189,7 +189,7 @@
 #define INTERFACE_NAME(NAME) libcmenet_LTX_ ## NAME
 #include <enet/enet.h>
 #endif
-#ifndef _MSC_VER
+#ifndef _WIN32
 #include <arpa/inet.h>
 #endif
 #include <time.h>
--- a/thirdparty/EVPath/EVPath/cmmulticast.c
+++ b/thirdparty/EVPath/EVPath/cmmulticast.c
@@ -6,9 +6,12 @@
 #define FD_SETSIZE 1024
 #include <winsock2.h>
 #include <ws2ipdef.h>
+#include <Ws2tcpip.h>
 #include <windows.h>
+#ifdef _MSC_VER
 #define getpid()	_getpid()
 #define close(x) closesocket(x)
+#endif
 #else
 #ifdef HAVE_SYS_TIME_H
 #include <sys/time.h>
@@ -419,7 +422,7 @@
 libcmmulticast_LTX_writev_func(CMtrans_services svc, mcast_conn_data_ptr mcd, struct iovec *iov, int iovcnt, attr_list attrs)
 {
     SOCKET fd = mcd->output_fd;
-#ifndef _MSC_VER
+#ifndef _WIN32
     // no real equivalent on windows
     struct sockaddr_in addr = mcd->output_addr;
     struct msghdr msg;
--- a/thirdparty/EVPath/EVPath/cmsockets.c
+++ b/thirdparty/EVPath/EVPath/cmsockets.c
@@ -115,6 +115,12 @@
 #define INST_ADDRSTRLEN 50
 #endif
 
+#ifdef WSAEWOULDBLOCK
+#define EWOULDBLOCK WSAEWOULDBLOCK
+#define EAGAIN WSAEINPROGRESS
+#define EINTR WSAEINTR
+#endif
+
 static atom_t CM_FD = -1;
 static atom_t CM_THIS_CONN_PORT = -1;
 static atom_t CM_PEER_CONN_PORT = -1;
@@ -856,7 +862,7 @@
 set_block_state(CMtrans_services svc, socket_conn_data_ptr scd,
 		socket_block_state needed_block_state)
 {
-#ifndef _MSC_VER
+#ifndef _WIN32
     int fdflags = fcntl(scd->fd, F_GETFL, 0);
     if (fdflags == -1) {
 	perror("getflags\n");
@@ -886,7 +892,7 @@
 libcmsockets_LTX_read_to_buffer_func(CMtrans_services svc, socket_conn_data_ptr scd, void *buffer, ssize_t requested_len, int non_blocking)
 {
     ssize_t left, iget;
-#ifndef _MSC_VER
+#ifndef _WIN32
     // GSE
     int fdflags = fcntl(scd->fd, F_GETFL, 0);
     if (fdflags == -1) {
--- a/thirdparty/EVPath/EVPath/cmudp.c
+++ b/thirdparty/EVPath/EVPath/cmudp.c
@@ -6,7 +6,9 @@
 #define FD_SETSIZE 1024
 #include <winsock2.h>
 #include <windows.h>
+#ifdef _MSC_VER
 #define getpid()	_getpid()
+#endif
 #else
 #ifdef HAVE_SYS_TIME_H
 #include <sys/time.h>
@@ -203,7 +205,7 @@
 
 #include "qual_hostname.c"
 
-#ifdef _MSC_VER
+#ifdef _WIN32
 static int inet_aton(const char* cp, struct in_addr* addr)
 {
     addr->s_addr = inet_addr(cp);
@@ -627,7 +629,7 @@
     fd = ucd->utd->socket_fd;
     svc->trace_out(ucd->utd->cm, "CMUdp writev of %d vectors on fd %d",
 		   iovcnt, fd);
-#ifndef _MSC_VER
+#ifndef _WIN32
     struct sockaddr_in addr = ucd->dest_addr;
     struct msghdr msg;
     memset(&msg, 0, sizeof(msg));
--- a/thirdparty/EVPath/EVPath/dlloader.c
+++ b/thirdparty/EVPath/EVPath/dlloader.c
@@ -1,5 +1,5 @@
 #include "config.h"
-#ifndef _MSC_VER
+#ifndef _WIN32
 #include <dlfcn.h>
 #endif
 #include <stdio.h>
--- a/thirdparty/EVPath/EVPath/dlloader.h
+++ b/thirdparty/EVPath/EVPath/dlloader.h
@@ -1,5 +1,5 @@
 
-#ifndef _MSC_VER
+#ifndef _WIN32
 #include <dlfcn.h>
 #else
 #define RTLD_GLOBAL 0x100 /* do not hide entries in this module */
--- a/thirdparty/EVPath/EVPath/gen_interface.pl
+++ b/thirdparty/EVPath/EVPath/gen_interface.pl
@@ -636,7 +636,7 @@
 #ifdef LT_LIBPREFIX
 #include "ltdl.h"
 #else
-#ifdef _MSC_VER
+#ifdef _WIN32
 #include <windows.h>
 #define RTLD_GLOBAL 1
 #define RTLD_LAZY 2
--- a/thirdparty/EVPath/EVPath/ip_config.c
+++ b/thirdparty/EVPath/EVPath/ip_config.c
@@ -484,7 +484,7 @@
 #ifndef HOST_NAME_MAX
 #define HOST_NAME_MAX 255
 #endif
-#ifdef _MSC_VER
+#ifdef _WIN32
 static int inet_aton(const char* cp, struct in_addr* addr)
 {
     addr->s_addr = inet_addr(cp);
--- a/thirdparty/EVPath/EVPath/metrics.c
+++ b/thirdparty/EVPath/EVPath/metrics.c
@@ -603,7 +603,7 @@
 
 /**************OS FUNCTIONS**************/
 char*  os_type() {
-#ifndef _MSC_VER
+#ifndef _WIN32
   static struct utsname output;
   static int first = 1;
   if (first) {
@@ -617,7 +617,7 @@
 }
 
 char*  os_release() {
-#ifndef _MSC_VER
+#ifndef _WIN32
   static struct utsname output;
   static int first = 1;
   if (first) {
--- a/thirdparty/EVPath/EVPath/response.c
+++ b/thirdparty/EVPath/EVPath/response.c
@@ -1700,7 +1700,7 @@
     internal_cod_submit_general(ec, port, data, type_info, NULL, NULL);
 }
 
-#ifdef _MSC_VER
+#ifdef _WIN32
 static long lrand48()
 {
     return rand();
@@ -1709,12 +1709,14 @@
 static double drand48() {
     return (double)(rand()) / (double)(RAND_MAX);
 }
+#ifdef _MSC_VER
 static void
 sleep(int t)
 {
     Sleep(t * 1000);
 }
 #endif
+#endif
 static void
 add_standard_routines(stone_type stone, cod_parse_context context)
 {
--- a/thirdparty/ffs/ffs/cod/standard.c
+++ b/thirdparty/ffs/ffs/cod/standard.c
@@ -527,7 +527,7 @@
 
 static cod_extern_entry strings_externs[] = 
 {
-#ifndef _MSC_VER
+#ifndef _WIN32
     {"bcmp", (void*)(intptr_t)bcmp},
     {"bcopy", (void*)(intptr_t)bcopy},
     {"bzero", (void*)(intptr_t)bzero},
--- a/thirdparty/ffs/ffs/ffs/ffs_file.c
+++ b/thirdparty/ffs/ffs/ffs/ffs_file.c
@@ -7,7 +7,7 @@
 #include "string.h"
 #include "stdio.h"
 #include "stdlib.h"
-#ifndef _MSC_VER
+#ifndef _WIN32
 #include "unistd.h"
 #include <arpa/inet.h>
 #else
--- a/thirdparty/ffs/ffs/fm/fm_formats.c
+++ b/thirdparty/ffs/ffs/fm/fm_formats.c
@@ -3160,7 +3160,7 @@
 unix_timeout_read_func(void *conn, void *buffer, int length, 
 		       int *errno_p, char **result_p);
 
-#ifdef _MSC_VER
+#ifdef _WIN32
 #define srand48(x) srand((int)(x))
 #define drand48() ((double)rand()/RAND_MAX)
 #define sleep(sec)  Sleep(1000 * sec)
--- a/thirdparty/ffs/ffs/fm/fm_internal.h
+++ b/thirdparty/ffs/ffs/fm/fm_internal.h
@@ -279,7 +279,7 @@
     size_t iov_len;
 };
 #else
-#ifdef _MSC_VER
+#ifdef _WIN32
 #include "winsock.h"
 #else
 #include <sys/socket.h>
--- a/thirdparty/ffs/ffs/fm/io_interface.h
+++ b/thirdparty/ffs/ffs/fm/io_interface.h
@@ -1,4 +1,4 @@
-#if defined(_MSC_VER) && !defined(_STRUCT_IOVEC)
+#if defined(_WIN32) && !defined(_STRUCT_IOVEC)
 #define _STRUCT_IOVEC
 struct	iovec {
     const void *iov_base;
