Mam dużą bibliotekę C/C++, której potrzebuję użyć jako część projektu Android NDK. Ta biblioteka musi być w stanie inteligentnie przetwarzać łańcuchy UTF8 (na przykład konwersję na małe/wielkie litery).Obsługa Unicode w Androidzie ndk
Biblioteka ma warunkową kompilację do puntu do interfejsu API systemu operacyjnego w celu przeprowadzenia konwersji, ale nie wydaje się, aby istniały żadne interfejsy API systemu Android dla UTF8. (mbstowcs, itp.)
This thread mówi, aby użyć metody JNI, aby to zrobić (!), co jest raczej ciężkim rozwiązaniem.
Myślałem o zbudowaniu ICU, ale ponieważ używa GNU Autotools, nie jestem pewien, czy uda mi się to zrobić z narzędziem NDK toolchain. :/
Czy ktoś inny zmierzył się z tym problemem i zrobił coś innego niż JNI?
EDIT: Moi próbach uzyskania ICU kompilacji nie na etapie configure:
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
Czy zdarzyło Ci się, że to zadziałało? – tofutim
@tofutim nie, ale nie byłem w stanie powtórzyć tego. – paleozogt
Występuje właśnie ten problem. – tofutim