Solução para falta de suporte std :: wstring no Android NDK?

Eu tenho um jogo que usa std :: wstring como seu tipo básico de string em milhares de lugares, além de executar operações com o wchar_t e suas funções: wcsicmp () wcslen () vsprintf (), et

O problema é que o wstring não é suportado no R5c (o mais recente ndk no momento da gravação deste documento

Não consigo alterar o código para usar std :: string por causa da internacionalização e eu estaria quebrando o mecanismo de jogo usado por muitos jogos ...

Quais opções tenho?

1 - Substitua string e wstring pelas minhas próprias classes de string

Isso me daria uma melhor independência da plataforma, mas é ridículo reimplementar a roda. Eu já comecei com uma implementação COW de strings. Eu preciso que seja COW, porque eu os uso como chaves em hash_maps. Obviamente, é muito trabalhoso e propenso a erros ... mas parece que é algo que posso fazer.

2 - Tente corrigir o NDK que recompila o STLPort com minhas próprias implementações das funções de ampla string de caracteres da biblioteca C padrão (wcslen, mbstowcs ...)

Esta seria a maneira preferível ... mas não tenho idéia de como fazê-lo:

Como substituo uma função (digamos wcslen) no libstdc ++. A ou libstlport_static.a? (não sabe onde eles estão: ()

E também não tenho certeza de quais funções preciso reimplementar, sei que o wcslen não está funcionando, então acho que elas devem estar todas ...

3 - Você tem alguma outra idéia?

Mal posso esperar por uma correção oficial para isso e terei que optar pela opção nº 1, se não souber como fazer a nº

Li em algum lugar que, se você tiver como alvo 2.3, poderá usar wstrings, mas devo ter como alvo o Android 2.

PS: Esqueci de dizer que preciso usar o STL, é claro, mas não há RTTI e posso viver sem exceções.

Desde já, obrigado

questionAnswers(3)

yourAnswerToTheQuestion