diff --git a/lib/argparse/meson.build b/lib/argparse/meson.build
index b6a08ca..8ab4c40 100644
--- a/lib/argparse/meson.build
+++ b/lib/argparse/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2024 HiSilicon Limited.
 
+if is_ms_compiler
+    build = false
+    reason = 'not supported building with Visual Studio Toolset'
+    subdir_done()
+endif
+
 sources = files('rte_argparse.c')
 headers = files('rte_argparse.h')
 
diff --git a/lib/dmadev/meson.build b/lib/dmadev/meson.build
index 62b0650..e66dcb6 100644
--- a/lib/dmadev/meson.build
+++ b/lib/dmadev/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2021 HiSilicon Limited.
 
+if is_ms_compiler
+    build = false
+    reason = 'not supported building with Visual Studio Toolset'
+    subdir_done()
+endif
+
 sources = files('rte_dmadev.c', 'rte_dmadev_trace_points.c')
 headers = files('rte_dmadev.h')
 indirect_headers += files('rte_dmadev_core.h', 'rte_dmadev_trace_fp.h')
diff --git a/lib/fib/meson.build b/lib/fib/meson.build
index ddcae06..6795f41 100644
--- a/lib/fib/meson.build
+++ b/lib/fib/meson.build
@@ -2,6 +2,12 @@
 # Copyright(c) 2018 Vladimir Medvedkin <medvedkinv@gmail.com>
 # Copyright(c) 2019 Intel Corporation
 
+if is_ms_compiler
+    build = false
+    reason = 'not supported building with Visual Studio Toolset'
+    subdir_done()
+endif
+
 sources = files('rte_fib.c', 'rte_fib6.c', 'dir24_8.c', 'trie.c')
 headers = files('rte_fib.h', 'rte_fib6.h')
 deps += ['rib']
diff --git a/lib/lpm/meson.build b/lib/lpm/meson.build
index 4cd4888..ae30f80 100644
--- a/lib/lpm/meson.build
+++ b/lib/lpm/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
+if is_ms_compiler
+    build = false
+    reason = 'not supported building with Visual Studio Toolset'
+    subdir_done()
+endif
+
 sources = files('rte_lpm.c', 'rte_lpm6.c')
 headers = files('rte_lpm.h', 'rte_lpm6.h')
 # since header files have different names, we can install all vector headers
diff --git a/lib/mbuf/meson.build b/lib/mbuf/meson.build
index 0435c5e..2cee905 100644
--- a/lib/mbuf/meson.build
+++ b/lib/mbuf/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
+if is_ms_compiler
+    build = false
+    reason = 'not supported building with Visual Studio Toolset'
+    subdir_done()
+endif
+
 sources = files(
         'rte_mbuf.c',
         'rte_mbuf_ptype.c',
diff --git a/lib/mempool/meson.build b/lib/mempool/meson.build
index 8099a56..acce66c 100644
--- a/lib/mempool/meson.build
+++ b/lib/mempool/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
+if is_ms_compiler
+    build = false
+    reason = 'not supported building with Visual Studio Toolset'
+    subdir_done()
+endif
+
 extra_flags = []
 
 foreach flag: extra_flags
diff --git a/lib/meson.build b/lib/meson.build
index 179a272..94d2b72 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -68,16 +68,6 @@ libraries = [
         'node',
 ]
 
-if is_ms_compiler
-    libraries = [
-            'log',
-            'kvargs',
-            'telemetry',
-            'eal',
-            'ring',
-    ]
-endif
-
 always_enable = [
         'cmdline',
         'eal',
diff --git a/lib/mldev/meson.build b/lib/mldev/meson.build
index 0079ccd..2c933ba 100644
--- a/lib/mldev/meson.build
+++ b/lib/mldev/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright (c) 2022 Marvell.
 
+if is_ms_compiler
+    build = false
+    reason = 'not supported building with Visual Studio Toolset'
+    subdir_done()
+endif
+
 sources = files(
         'rte_mldev_pmd.c',
         'rte_mldev.c',
diff --git a/lib/rcu/meson.build b/lib/rcu/meson.build
index 09abc52..71143f5 100644
--- a/lib/rcu/meson.build
+++ b/lib/rcu/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Arm Limited
 
+if is_ms_compiler
+    build = false
+    reason = 'not supported building with Visual Studio Toolset'
+    subdir_done()
+endif
+
 sources = files('rte_rcu_qsbr.c')
 headers = files('rte_rcu_qsbr.h')
 
diff --git a/lib/stack/meson.build b/lib/stack/meson.build
index 18177a7..7631a14 100644
--- a/lib/stack/meson.build
+++ b/lib/stack/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2019 Intel Corporation
 
+if is_ms_compiler
+    build = false
+    reason = 'not supported building with Visual Studio Toolset'
+    subdir_done()
+endif
+
 sources = files('rte_stack.c', 'rte_stack_std.c', 'rte_stack_lf.c')
 headers = files('rte_stack.h')
 # subheaders, not for direct inclusion by apps
