snprintf definition is needed here, too
diff --git a/json_object.c b/json_object.c
index f2b5ce0..facb824 100644
--- a/json_object.c
+++ b/json_object.c
@@ -37,6 +37,13 @@
   char* strndup(const char* str, size_t n);
 #endif /* !HAVE_STRNDUP */
 
+#if !defined(HAVE_SNPRINTF) && defined(_MSC_VER)
+  /* MSC has the version as _snprintf */
+# define snprintf _snprintf
+#elif !defined(HAVE_SNPRINTF)
+# error You do not have snprintf on your system.
+#endif /* HAVE_SNPRINTF */
+
 // Don't define this.  It's not thread-safe.
 /* #define REFCOUNT_DEBUG 1 */