我有一个大型 C/C++ 库,我需要将其用作 Android NDK 项目的一部分。该库需要能够智能地处理 UTF8 字符串(例如,转换为小写/大写)。
该库具有条件编译,可以将其添加到 OS API 进行转换,但似乎没有任何适用于 UTF8 的 Android API。(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