поддержка юникода в android ndk

У меня есть большая библиотека C / C ++, которую мне нужно использовать как часть проекта Android NDK. Эта библиотека должна иметь возможность разумно обрабатывать строки UTF8 (например, преобразование в нижний / верхний регистр).

В библиотеке есть условная компиляция для перехода к API ОС для выполнения преобразования, но, похоже, нет никаких Android API для UTF8. (mbstowcs и т. д.)

В этом потоке говорится, что для этого нужно использовать методы JNI (!), что является довольно тяжелым решением.

Я думал о создании ICU , но поскольку он использует GNU Autotools, я не уверен, что смогу заставить его работать с набором инструментов NDK. : /

Кто-нибудь еще сталкивался с этой проблемой и делал что-то, кроме использования JNI?

РЕДАКТИРОВАТЬ: Мои попытки заставить ICU скомпилировать терпят неудачу на этапе настройки:

checking wchar.h usability... no
checking wchar.h presence... yes
configure: WARNING: wchar.h: present but cannot be compiled
configure: WARNING: wchar.h:     check for missing prerequisite headers?
configure: WARNING: wchar.h: see the Autoconf documentation
configure: WARNING: wchar.h:     section "Present But Cannot Be Compiled"
configure: WARNING: wchar.h: proceeding with the preprocessor's result
configure: WARNING: wchar.h: in the future, the compiler will take precedence
checking for wchar.h... yes
checking for library containing wcscpy... none required
checking size of wchar_t... 0
configure: error: There is wchar.h but the size of wchar_t is 0

11
задан Steven R. Loomis 20 March 2012 в 15:48
поделиться