diff --git a/.gitignore b/.gitignore
index 7f7bab74a7..72a8882ed4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,6 +13,7 @@
*.crf
build
Debug
+.vs
rtthread
settings
documentation/html
diff --git a/bsp/simulator/template_vs2012.vcxproj b/bsp/simulator/template_vs2012.vcxproj
index 0ace659065..914efbc809 100644
--- a/bsp/simulator/template_vs2012.vcxproj
+++ b/bsp/simulator/template_vs2012.vcxproj
@@ -44,6 +44,7 @@
Level3
EditAndContinue
/utf-8 %(AdditionalOptions)
+ stdc11
winmm.lib;Packet.lib;wpcap.lib;%(AdditionalDependencies)
diff --git a/components/finsh/finsh.h b/components/finsh/finsh.h
index 8450f20f4d..71790fe135 100644
--- a/components/finsh/finsh.h
+++ b/components/finsh/finsh.h
@@ -196,13 +196,21 @@ typedef struct msh_cmd_opt
* Declares a static array of command options for a specific command.
* @param command The command associated with these options.
*/
+#ifdef _MSC_VER
+#define CMD_OPTIONS_STATEMENT(command) static struct msh_cmd_opt command##_msh_options[16];
+#else
#define CMD_OPTIONS_STATEMENT(command) static struct msh_cmd_opt command##_msh_options[];
+#endif
/**
* Starts the definition of command options for a specific command.
* @param command The command these options are associated with.
*/
+#ifdef _MSC_VER
+#define CMD_OPTIONS_NODE_START(command) static struct msh_cmd_opt command##_msh_options[16] = {
+#else
#define CMD_OPTIONS_NODE_START(command) static struct msh_cmd_opt command##_msh_options[] = {
+#endif
/**
* Defines a single command option.
diff --git a/src/scheduler_up.c b/src/scheduler_up.c
index 693cfcae0e..95e3cc7fb6 100644
--- a/src/scheduler_up.c
+++ b/src/scheduler_up.c
@@ -32,6 +32,7 @@
* 2023-10-17 ChuShicheng Modify the timing of clearing RT_THREAD_STAT_YIELD flag bits
*/
+#define __RT_IPC_SOURCE__
#include
#include