diff --git a/src/windows/gnu/mod.rs b/src/windows/gnu/mod.rs
index e74628b981e2fe750cb4d0c34c2151446f413fc1..3e906967f60dc39ebfeb9cd9cf117f0e0a630928 100644
--- a/src/windows/gnu/mod.rs
+++ b/src/windows/gnu/mod.rs
@@ -13,6 +13,14 @@ extern "C" {
         s2: *const ::c_char,
         n: ::size_t,
     ) -> ::c_int;
+
+    // NOTE: For MSVC target, `wmemchr` is only a inline function in `<wchar.h>`
+    //      header file. We cannot find a way to link to that symbol from Rust.
+    pub fn wmemchr(
+        cx: *const ::wchar_t,
+        c: ::wchar_t,
+        n: ::size_t,
+    ) -> *mut ::wchar_t;
 }
 
 cfg_if! {
diff --git a/src/windows/mod.rs b/src/windows/mod.rs
index fcbe0bf7805e007a17cecb9b4a5006f1509d70d3..54421dd4daf840578816832a845b7175a7488470 100644
--- a/src/windows/mod.rs
+++ b/src/windows/mod.rs
@@ -378,7 +378,6 @@ extern "C" {
     ) -> ::size_t;
 
     pub fn memchr(cx: *const c_void, c: c_int, n: size_t) -> *mut c_void;
-    pub fn wmemchr(cx: *const wchar_t, c: wchar_t, n: size_t) -> *mut wchar_t;
     pub fn memcmp(cx: *const c_void, ct: *const c_void, n: size_t) -> c_int;
     pub fn memcpy(
         dest: *mut c_void,