程序中用到了libiconv,想移植到android上,但在cygwin1.7下利用ndk编译时出错:iconv.h,no such file or directory,但我iconv库是装好了的,通过iconv --version可以查看其版本为1.13,在/usr/include中也有iconv.h文件,不过在Android.mk文件中指定该目录仍提示找不到。 
    看了之前的帖子也有人遇到这个问题,但是都没有说到底为什么,各位高手指点一下,应该怎么弄啊?

解决方案 »

  1.   

    Android.mk内加 LOCAL_C_INCLUDES+=/usr/include
    指定下搜索路径
      

  2.   

    指定了。看了其他的资料,ndk没有开放libiconv,需要用ndk再编译一个libiconv出来,但是目前编译有问题,
    LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)
    LOCAL_MODULE    := iconv
    LOCAL_CFLAGS := \
        -Wno-multichar \
        -D_ANDROID \
        -DLIBDIR="c" \
        -DBUILDING_LIBICONV \
        -DIN_LIBRARYLOCAL_C_INCLUDES := \
    $(LOCAL_PATH)/libiconv-1.13.1 \
        $(LOCAL_PATH)/libiconv-1.13.1/include \
        $(LOCAL_PATH)/libiconv-1.13.1/lib \
        $(LOCAL_PATH)/libiconv-1.13.1/libcharset/include
        
    LOCAL_SRC_FILES := \
        libiconv-1.13.1/libcharset/lib/localcharset.c \
        libiconv-1.13.1/lib/iconv.c \
        libiconv-1.13.1/lib/relocatable.c
    include $(BUILD_STATIC_LIBRARY)
    后面是我的工程内容,包含了iconv.h后在stdio.h和error.h等诸多头文件中报了一大堆错误,不知道是为什么
      

  3.   

    感觉是头文件包含的问题,
    iconv.h:53:error:storage class specified for parameter 'libiconv_t'
    stddef.h:149:error:storage class specified for parameter 'ptrdiff_t'
    stddef.h:211:error:storage class specified for parameter 'size_t'
    ...........
    等等一大堆类似的错误,不知道应该怎么搞啊~~~不知道人家都是怎么编译通过的
      

  4.   

    我也是编译的一堆问题。还是不熟悉liunx啊