id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 11526,mbtowc and wctomb are not implemented on Android,jeff.diclemente@…,Robert Ramey,"A runtime error occurs when using the Boost serialization library on Android. The symbols ""mbtowc"" and ""mctomb"" cannot be found by the linker. This occurs because the GNU C++ library provided by the Android NDK does not implement mbtowc and wctomb. A working example which demonstrates this error is attached. It is taken verbatim from the boost serialization example (i.e. boost/libs/serialization/examples/demo_xml.cpp). It can only be run on an Android device. The example program was built using the following: arm-linux-androideabi-g++ demo_xml.cpp -Iboost/include -std=c++11 -Lboost/lib -lboost_wserialization -lboost_serialization The example program was built using a standalone GCC 4.8.0 ARM-v7a toolchain built from Android NDK r9 using boost 1.49.0. The issue still exists in the latest boost code in GitHub and with the latest Android NDK r10e (i.e. the C++ Library in Android NDK r10e was examined and ""mbtowc"" and ""wctomb"" still don't exist). To reproduce, build a standalone GCC toolchain for ARM-v7a by following the instructions here: https://developer.android.com/ndk/guides/standalone_toolchain.html and then build ./boost/libs/serialization/examples/demo_xml.cpp. I have a proposed fix for this which uses mbrtowc and wcrtomb, which are supported by the Android C++ library. I plan to submit a GitHub pull request. ",Feature Requests,closed,To Be Determined,serialization,Boost Development Trunk,Problem,fixed,Android,