I am compiling a dynamic library for Android using Visual Studio's NDK toolchain. When I set the platform to ARM and STL to "C++_shared", I get undefined reference to 'std::__ndk1::__itoa::__u32toa(unsigned int, char*)'. This only happens with "c++_shared" STL. It does not happen with the "c++_static" STL. My target API level 23 (I've also tested 29, the result is the same).
This linkage error comes from my usage of std::to_chars() which is a "charconv". My question is why is this happening only for "c++_shared" but not "c++_static". Is it just because it's not implemented in the shared STL but is for the static?