diff --git a/BaseLib/MemWatch.cpp b/BaseLib/MemWatch.cpp
index 53a00233191873d4882935b1abfa518e942dd11d..5672751c1c66a0c9131902db733e03fc5211d5e9 100644
--- a/BaseLib/MemWatch.cpp
+++ b/BaseLib/MemWatch.cpp
@@ -14,7 +14,14 @@
 
 #include "MemWatch.h"
 
-#ifndef _MSC_VER
+#if !defined(WIN32) && !defined(__APPLE__)
+#include <iostream>
+#include <fstream>
+#include <string>
+#include <sstream>
+#include <sys/types.h>
+#include <unistd.h>
+#endif
 
 namespace BaseLib {
 
@@ -25,6 +32,7 @@ MemWatch::MemWatch ()
 
 unsigned MemWatch::updateMemUsage ()
 {
+#if !defined(WIN32) && !defined(__APPLE__)
         std::string fname ("/proc/");
         std::stringstream str_pid;
         str_pid << (unsigned) getpid();
@@ -48,6 +56,8 @@ unsigned MemWatch::updateMemUsage ()
         in >> pages;
         _cmem_size = ((unsigned long) pages) * ((unsigned long) getpagesize());
         in.close ();
+#endif
+
         return 0;
 }
 
@@ -74,4 +84,3 @@ unsigned long MemWatch::getCodeMemUsage () {
 
 } // end namespace BaseLib
 
-#endif // _MSC_VER
diff --git a/BaseLib/MemWatch.h b/BaseLib/MemWatch.h
index 3a9870b4deb8c42c050e10962cf1f84ad4e820f3..5f8fd6eab586bd08c29d580364b9d0b58ce4879f 100644
--- a/BaseLib/MemWatch.h
+++ b/BaseLib/MemWatch.h
@@ -15,15 +15,6 @@
 #ifndef MEMWATCH_H_
 #define MEMWATCH_H_
 
-#ifndef _MSC_VER
-
-#include <sys/types.h>
-#include <unistd.h>
-#include <iostream>
-#include <fstream>
-#include <string>
-#include <sstream>
-
 namespace BaseLib {
 
 class MemWatch {
@@ -36,14 +27,12 @@ public:
 
 private:
 	unsigned updateMemUsage ();
-	unsigned long _vmem_size;
-	unsigned long _rmem_size;
-	unsigned long _smem_size;
-	unsigned long _cmem_size;
+	unsigned long _vmem_size = 0;
+	unsigned long _rmem_size = 0;
+	unsigned long _smem_size = 0;
+	unsigned long _cmem_size = 0;
 };
 
 }
 
-#endif // not Windows
-
 #endif /* MEMWATCH_H_ */