diff --git a/CMakeLists.txt b/CMakeLists.txt
index 553f13b..03dc546 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -230,6 +230,9 @@
    ${SOURCE_DIR}/src/bson/bson-writer.h
 )
 
+add_definitions(-D_CRT_SECURE_NO_WARNINGS)
+
+if (NOT BSON_ENABLE_STATIC)
 add_library(bson_shared SHARED ${SOURCES} ${HEADERS})
 set(CMAKE_CXX_VISIBILITY_PRESET hidden)
 set_target_properties(bson_shared PROPERTIES COMPILE_DEFINITIONS "BSON_COMPILATION;JSONSL_PARSE_NAN")
@@ -263,16 +266,21 @@
    # must be handled specially since we can't resolve them
    set(BSON_SYSTEM_LIBS ${BSON_SYSTEM_LIBS} ws2_32)
 endif()
+endif()
 
 if (BSON_ENABLE_STATIC)
    add_library(bson_static STATIC ${SOURCES} ${HEADERS})
+   set(CMAKE_CXX_VISIBILITY_PRESET hidden)
    set_target_properties(bson_static PROPERTIES COMPILE_DEFINITIONS "BSON_COMPILATION;BSON_STATIC;JSONSL_PARSE_NAN")
    set_target_properties(bson_static PROPERTIES VERSION ${BSON_VERSION})
    set_target_properties(bson_static PROPERTIES OUTPUT_NAME "bson-static-${BSON_API_VERSION}")
+   set(THREADS_PREFER_PTHREAD_FLAG 1)
+   find_package (Threads REQUIRED)
    target_link_libraries(bson_static Threads::Threads)
    if (RT_LIBRARY)
       target_link_libraries (bson_static ${RT_LIBRARY})
    endif()
+   find_library(M_LIBRARY m)
    if (M_LIBRARY)
       target_link_libraries (bson_static ${M_LIBRARY})
    endif()
@@ -332,7 +340,7 @@
     add_executable (${bin} ${BSON_EXAMPLE_SOURCES})
 
     # Link against the shared lib like normal apps
-    target_link_libraries(${bin} bson_shared)
+    target_link_libraries(${bin} bson_shared bson_static)
 
     set (EXAMPLES ${EXAMPLES} ${bin})
 endfunction ()
@@ -349,6 +357,7 @@
 endif () # ENABLE_EXAMPLES
 
 set (BSON_HEADER_INSTALL_DIR "include/libbson-${BSON_API_VERSION}")
+if (NOT BSON_ENABLE_STATIC)
 install(
   TARGETS bson_shared ${EXAMPLES}
   LIBRARY DESTINATION lib
@@ -355,6 +364,7 @@
   ARCHIVE DESTINATION lib
   RUNTIME DESTINATION bin
 )
+endif ()
 if (BSON_ENABLE_STATIC)
    install(
      TARGETS bson_static ${EXAMPLES}
diff --git a/src/bson/bson-compat.h b/src/bson/bson-compat.h
index 05fc614..e8e2214 100644
--- a/src/bson/bson-compat.h
+++ b/src/bson/bson-compat.h
@@ -39,11 +39,11 @@
 
 
 #ifdef BSON_OS_WIN32
-#if defined(_WIN32_WINNT) && (_WIN32_WINNT < 0x0600)
+#if defined(_WIN32_WINNT) && (_WIN32_WINNT < 0x0602)
 #undef _WIN32_WINNT
 #endif
 #ifndef _WIN32_WINNT
-#define _WIN32_WINNT 0x0600
+#define _WIN32_WINNT 0x0602
 #endif
 #ifndef NOMINMAX
 #define NOMINMAX
diff --git a/src/bson/bson-iso8601.c b/src/bson/bson-iso8601.c
index 8beea90..cb4b531 100644
--- a/src/bson/bson-iso8601.c
+++ b/src/bson/bson-iso8601.c
@@ -115,8 +115,8 @@ _bson_iso8601_date_parse (const char *str,
    const char *day_ptr;
    const char *hour_ptr;
    const char *min_ptr;
-   const char *sec_ptr;
-   const char *millis_ptr;
+   const char *sec_ptr = NULL;
+   const char *millis_ptr = NULL;
    const char *tz_ptr;
 
    int32_t year_len = 0;
