diff --git a/CMakeLists.txt b/CMakeLists.txt
index ea8a0e001496d5c03bbbd86c280349c6224dc25c..7c6ad4e9cf26e61916ddb7c6f174c121ff43a83d 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,6 +3,18 @@ project (dap_stream_ch_chain_net)
   
 set(DAP_STREAM_CH_CHAIN_NET_SRCS dap_stream_ch_chain_net.c dap_stream_ch_chain_net_pkt.c)
 
+if(WIN32)
+  include_directories(../libdap/src/win32/)
+  include_directories(../3rdparty/libmemcached/)
+  include_directories(../3rdparty/libmemcached/win32/)
+  include_directories(../3rdparty/wepoll/include/)
+  include_directories(../3rdparty/uthash/src/)
+  include_directories(../3rdparty/libjson-c/)
+  include_directories(../3rdparty/libmagic/src/)
+  include_directories(../3rdparty/curl/include/)
+  include_directories(../3rdparty/libsqlite3/)
+endif()
+
 add_library(${PROJECT_NAME} STATIC ${DAP_STREAM_CH_CHAIN_NET_SRCS})
 
 target_link_libraries(dap_stream_ch_chain_net dap_core dap_crypto dap_stream dap_stream_ch dap_stream_ch_chain
diff --git a/dap_stream_ch_chain_net.c b/dap_stream_ch_chain_net.c
index 2a528cc700119342720f3d55199002303607cb4e..324139edc082d82617b3e1228fc173bbbed11de2 100755
--- a/dap_stream_ch_chain_net.c
+++ b/dap_stream_ch_chain_net.c
@@ -22,6 +22,25 @@
  along with any DAP based project.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <stdlib.h>
+#include <stdio.h>
+#include <time.h>
+#include <stdlib.h>
+#include <stddef.h>
+#include <stdint.h>
+
+#ifdef WIN32
+#undef _WIN32_WINNT
+#define _WIN32_WINNT 0x0600
+#include <winsock2.h>
+#include <windows.h>
+#include <mswsock.h>
+#include <ws2tcpip.h>
+#include <io.h>
+//#include "wrappers.h"
+#include <wepoll.h>
+#endif
+
 #include <errno.h>
 #include <string.h>
 #include <pthread.h>
diff --git a/dap_stream_ch_chain_net_pkt.c b/dap_stream_ch_chain_net_pkt.c
index 0fea9b522bdc27c4ece016896cfca6b58dc624ac..d1762c84f564aa50f0f7bebfb04310a6cd9f68a3 100755
--- a/dap_stream_ch_chain_net_pkt.c
+++ b/dap_stream_ch_chain_net_pkt.c
@@ -1,7 +1,24 @@
-#include <stdarg.h>
+#include <stdlib.h>
 #include <stdio.h>
+#include <time.h>
+#include <stdlib.h>
+#include <stddef.h>
+#include <stdint.h>
 #include <string.h>
 
+#ifdef WIN32
+#undef _WIN32_WINNT
+#define _WIN32_WINNT 0x0600
+#include <winsock2.h>
+#include <windows.h>
+#include <mswsock.h>
+#include <ws2tcpip.h>
+#include <io.h>
+//#include "wrappers.h"
+#include <wepoll.h>
+#include <pthread.h>
+#endif
+
 #include <dap_common.h>
 #include <dap_stream.h>
 #include <dap_stream_pkt.h>
@@ -46,7 +63,7 @@ size_t dap_stream_ch_chain_net_pkt_write_f(dap_stream_ch_t *a_ch, uint8_t a_type
     char l_buf[4096];
     va_list ap;
     va_start(ap, a_str);
-    vsnprintf(l_buf, sizeof(l_buf), a_str, ap);
+    dap_vsnprintf(l_buf, sizeof(l_buf), a_str, ap);
     va_end(ap);
     size_t ret = dap_stream_ch_chain_net_pkt_write(a_ch, a_type, a_net_id, l_buf, strlen(l_buf));
     return ret;