5

我用 C++ 构建了一个库,我想使用 NDK 将它包含在我的 Android 应用程序中。但是,我的图书馆需要使用 ICU4C。我一直在尝试为 Android 编译 ICU,我在这里查看了很多关于 SO 的问题,但我仍然无法将 ICU 编译为 Android 的 .a 文件。我不确定执行此操作的最佳方法。有人用 NDK 在 ICU 上取得成功吗?

顺便说一句,我希望使用 ICU 51.2,除非有充分的理由使用旧版本。

4

1 回答 1

2

您可以通过在您的Android.mk

LOCAL_CFLAGS := -DANDROID -fdata-sections -ffunction-sections
LOCAL_CPPFLAGS := -DANDROID -frtti -fno-exceptions -fdata-sections -ffunction-sections

如果您毫无例外地使用 Android NDK,您将需要破解缺失的cxa_bad_typeid()

extern "C" std::type_info const& __cxa_bad_typeid()
{
   // just return something
   return typeid(void*);
}
于 2013-08-21T15:23:20.677 回答