Solución por falta de soporte de std :: wstring en Android NDK?

Tengo un juego que usa std :: wstring como su tipo de cadena básica en miles de lugares, además de realizar operaciones con wchar_t y sus funciones: wcsicmp () wcslen () vsprintf (), etc.

El problema es que wstring no es compatible con R5c (último ndk en el momento de escribir esto).

No puedo cambiar el código para usar std :: string debido a la internacionalización y estaría rompiendo el motor del juego que utilizan muchos juegos ...

¿Qué opciones tengo?

1 - Reemplazar string y wstring con mis propias clases de string

Esto me daría una mejor independencia de la plataforma, pero es ridículo volver a implementar la rueda. Ya comencé con una implementación COW de cadenas. Necesito que sea COW porque los uso como claves en hash_maps. Esto es, por supuesto, mucho trabajo y propenso a errores ... pero parece que es algo que puedo hacer.

2 - Intente arreglar el NDK volviendo a compilar el STLPort con mis propias implementaciones de las funciones de cadena de caracteres anchos de la biblioteca estándar de C (wcslen, mbstowcs ...)

Esta sería la forma preferible ... pero no tengo idea de cómo hacerlo:

¿Cómo reemplazo una función (digamos wcslen) en libstdc ++. A o libstlport_static.a? (no estoy seguro de dónde están: ()

Además, no estoy seguro de qué funciones necesito para volver a implementar, sé que wcslen no funciona, así que supongo que deberían ser todas ...

3 - ¿Tienes alguna otra idea?

No puedo esperar una solución oficial para esto y tendré que ir con la opción # 1 si no puedo darme cuenta de cómo hacer # 2.

He leído en alguna parte que si apuntas a 2.3 puedes usar wstrings, pero debería apuntar a Android 2.1.

PS: Olvidé decir que necesito usar STL, por supuesto, pero no RTTI y puedo vivir sin excepciones.

¡Gracias por adelantado

Respuestas a la pregunta(3)

Su respuesta a la pregunta