diff -urN MiniSat_v1.14/Global.h MiniSat_v1.14-msvc/Global.h
--- MiniSat_v1.14/Global.h	2005-07-03 15:45:52.000000000 +0200
+++ MiniSat_v1.14-msvc/Global.h	2005-11-05 10:17:05.000000000 +0100
@@ -34,11 +34,21 @@
 
 
 #ifdef _MSC_VER
-typedef INT64              int64;
-typedef UINT64             uint64;
-typedef INT_PTR            intp;
-typedef UINT_PTR           uintp;
-#define I64_fmt "I64d"
+#	define for if(0);else for // for scope
+#	pragma warning(disable:4244) // double -> float
+#	pragma warning(disable:4200) // non-standard array of size zero 
+#	pragma warning(disable:4312) // pointer <-> int
+#	pragma warning(disable:4311)
+#	pragma warning(disable:4267) // size_t -> int
+#	pragma warning(disable:4305) // double -> float conversion
+#	define I64_fmt "I64d"
+
+typedef unsigned uint;
+typedef __int64 int64;
+typedef unsigned __int64 uint64;
+typedef long            intp;
+typedef unsigned long           uintp;
+
 #else
 typedef long long          int64;
 typedef unsigned long long uint64;
diff -urN MiniSat_v1.14/Main.C MiniSat_v1.14-msvc/Main.C
--- MiniSat_v1.14/Main.C	2005-07-04 23:42:54.000000000 +0200
+++ MiniSat_v1.14-msvc/Main.C	2005-11-05 10:26:01.000000000 +0100
@@ -19,11 +19,9 @@
 
 #include "Solver.h"
 #include <ctime>
-#include <unistd.h>
 #include <signal.h>
 #include <zlib.h>
 
-
 //=================================================================================================
 // BCNF Parser:
 
@@ -224,8 +222,9 @@
     S.verbosity = 1;
     solver = &S;
     signal(SIGINT,SIGINT_handler);
+#ifndef _WIN32
     signal(SIGHUP,SIGINT_handler);
-
+#endif
     S.solve();
     printStats(S.stats);
     reportf("\n");
diff -urN MiniSat_v1.14/Solver.h MiniSat_v1.14-msvc/Solver.h
--- MiniSat_v1.14/Solver.h	2005-10-04 17:31:28.000000000 +0200
+++ MiniSat_v1.14-msvc/Solver.h	2005-11-05 09:57:19.000000000 +0100
@@ -23,8 +23,14 @@
 #include "SolverTypes.h"
 #include "VarOrder.h"
 
+
 // Redfine if you want output to go somewhere else:
-#define reportf(format, args...) ( printf(format , ## args), fflush(stdout) )
+#ifndef __GNUC__
+#	define reportf printf
+#else
+#	define reportf(format, args...) ( printf(format , ## args), fflush(stdout) )
+#endif
+
 
 
 //=================================================================================================
diff -urN MiniSat_v1.14/SolverTypes.h MiniSat_v1.14-msvc/SolverTypes.h
--- MiniSat_v1.14/SolverTypes.h	2005-07-04 15:23:32.000000000 +0200
+++ MiniSat_v1.14-msvc/SolverTypes.h	2005-11-05 09:47:39.000000000 +0100
@@ -37,6 +37,9 @@
 #define var_Undef (-1)
 
 
+class Lit;
+inline Lit toLit (int i);
+
 class Lit {
     int     x;
 public:
@@ -47,7 +50,7 @@
     friend bool sign  (Lit p) { return p.x & 1; }
     friend int  var   (Lit p) { return p.x >> 1; }
     friend int  index (Lit p) { return p.x; }                // A "toInt" method that guarantees small, positive integers suitable for array indexing.
-    friend Lit  toLit (int i) { Lit p; p.x = i; return p; }  // Inverse of 'index()'.
+    friend inline Lit  toLit (int i);
     friend Lit  unsign(Lit p) { Lit q; q.x = p.x & ~1; return q; }
     friend Lit  id    (Lit p, bool sgn) { Lit q; q.x = p.x ^ (int)sgn; return q; }
 
@@ -55,6 +58,8 @@
     friend bool operator <  (Lit p, Lit q) { return index(p)  < index(q); }  // '<' guarantees that p, ~p are adjacent in the ordering.
 };
 
+inline Lit toLit (int i) { Lit p; p.x = i; return p; }  // Inverse of 'index()'.
+
 const Lit lit_Undef(var_Undef, false);  // }- Useful special constants.
 const Lit lit_Error(var_Undef, true );  // }
 
