在OSX for Android上构建libiconv时如何解决“langinfo.h not found”错误?

时间:2012-10-10 09:38:14

标签: android macos android-ndk libiconv

我尝试将libiconv构建为可由android-JNI访问的图书馆。

我发现很多示例makefile都包含在我的Android.mk中。问题是,每次运行ndk-build时都会出现以下错误:

libiconv/libcharset/lib/localcharset.c:51:24: fatal error: langinfo.h: No such file or directory

我在libiconv文件夹中调用./configure,但我仍然无法在此文件夹中找到langinfo.h

我正在使用Mac OSX Mountain Lion。有人知道该怎么办吗?

更新langinfo.h

中有一个/usr/include

4 个答案:

答案 0 :(得分:0)

<langinfo.h>不属于Android NDK。

<langinfo.h>标头包含用于标识langinfo数据项的常量。您可以安全地将系统头从/usr/include复制到项目的include目录,以解决编译错误。

但请注意,这可能只是第一个症状。 Android根本不包含与langinfo兼容的数据,并提供完全不同的本地化工具。

答案 1 :(得分:0)

我为Android构建xbmc时遇到了同样的情况。 我刚刚在include目录中创建了一个空文件“langinfo.h”。 效果很好。

答案 2 :(得分:0)

您应该可以在NDK_DIR/sources/android/support/include下找到langinfo.h。请务必将此信息包含在您的包含路径中。

答案 3 :(得分:0)

尝试一下

修改libiconv / libcharset / config.h

评论此行“ #define HAVE_LANGINFO_CODESET 1”

然后再次构建ndk

enter image description here