【问题标题】:How to install libiconv for android ndk?如何为 android ndk 安装 libiconv?
【发布时间】:2012-04-17 17:53:21
【问题描述】:

有人可以教我或指点我有关如何为 android 安装 libiconv 的教程吗?我已经在谷歌上搜索了 3 天,但找不到教程或操作方法。

【问题讨论】:

  • Java 库提供了您可能需要的所有字符集转换服务。只是在说'。再说一次,如果移植现有的基于 iconv 的代码......
  • 我认为这只是为 Android 构建它(从源代码)的问题。我怀疑是否有一个针对 Android 的版本,您可以“安装”。获取源代码,创建一个 Android.mk 文件来编译源代码(查看 libiconv 提供的 makefile 以便您知道要编译哪些文件)并 ndk-build 吸盘。
  • 实际上,我正在尝试在android ndk中构建和编译一些c ++文件,但是发生错误“未定义对libiconv_open、libiconv和libiconv_close的引用”,这意味着一些c ++文件使用了iconv,这就是我想要的原因将 libiconv 安装/编译到 android-ndk 以便我的文件将成功构建。你有什么建议吗?还是我会针对错误寻求错误的解决方案?
  • @Coola 将 libiconv 添加到您正在构建的项目中而不是将其构建为单独的库可能更容易。不过,请查看我的答案中的链接。它为您提供了需要添加到现有 makefile 中的内容,还显示了您需要添加到项目中的必要文​​件。
  • 好的,谢谢 Samuel,我会看看我能做什么

标签: android android-ndk iconv libiconv


【解决方案1】:

获取 libiconv 源,并制作一个 Android.mk 生成文件。查看 this site 以获取用于 libiconv 和 Android 的预先编写的 makefile。获得 Android.mk 文件后,您可以使用 ndk-build 脚本进行构建。

【讨论】:

    【解决方案2】:

    我猜你在 Android 上不需要 iconv。 Android应该到处都是UTF-8,所以应该不需要字符转换。也许在某些情况下,您希望您的应用程序编辑各种字符集的外部文件,这是我能想到的唯一原因,Android 应用程序在哪里需要 iconv。

    因此,与其尝试包含 libiconv,或许您应该更改您正在使用的任何需要 libiconv 的代码,以便在 Android 上运行时不需要它。

    【讨论】:

    • 当然,这个问题没有很好地说明。每当您使用 NDK 和需要 iconv 的库进行交叉编译时,您都会发现自己在问这个问题。
    猜你喜欢
    • 2013-11-14
    • 2015-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-06
    • 1970-01-01
    • 2016-07-04
    • 1970-01-01
    相关资源
    最近更新 更多