把项目从win32移植到android平台出现了不少问题,cocos2d-x是2.0.3版本,在win32下直接使用cocos2dx\platform\third_party\win32\iconv\iconv.h即可,但是android目录下没有这个文件。从网上下了个iconv库,在Android.mk文件里配置了:LOCAL_C_INCLUDES += $(LOCAL_PATH)/../iconv/include,在使用ndk编译的时候出现libiconv_close libiconv_open等函数未定义问题。还有使用sqlite等第三库时也出现问题,求救啊~~

解决方案 »

  1.   

    问题已解决,现给出解决方案:
    下一个iconv库放到跟Classes同级目录,然后在iconv库根目录下编写Android.mk文件,内容:
    LOCAL_PATH:= $(call my-dir)
    #libiconv.so
    include $(CLEAR_VARS)
    LOCAL_MODULE := libiconv
    LOCAL_CFLAGS := \
      -Wno-multichar \
      -DAndroid \
      -DLIBDIR="c" \
      -DBUILDING_LIBICONV \
      -DIN_LIBRARYLOCAL_SRC_FILES := \
      libcharset/lib/localcharset.c \
      lib/iconv.c \
      lib/relocatable.cLOCAL_C_INCLUDES += \
      $(LOCAL_PATH)/include \
      $(LOCAL_PATH)/libcharset \
      $(LOCAL_PATH)/lib \
      $(LOCAL_PATH)/libcharset/include \
      $(LOCAL_PATH)/srclib
    include $(BUILD_STATIC_LIBRARY)在Classes目录下的Android.mk文件里加入:
    LOCAL_C_INCLUDES += \
      $(LOCAL_PATH)/../iconv/include \
      $(LOCAL_PATH)/../libiconv/libcharset \
      $(LOCAL_PATH)/../libiconv/lib \
      $(LOCAL_PATH)/../libiconv/libcharset/include \
      $(LOCAL_PATH)/../libiconv/srclib \
      $(LOCAL_PATH)/../iconvLOCAL_WHOLE_STATIC_LIBRARIES += libiconv$(call import-module,iconv)这样就可以了~~
      

  2.   

    LZ你好,我现在也遇到了这个问题。你可以把iconv库发给我么?不是官网上面原生的那个
      

  3.   

    Android NDK: jni/Android.mk: Cannot find module with tag 'iconv' in import path    
    Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined ?    
    jni/Android.mk:44: *** Android NDK: Aborting.    .  Stop.
    照你的做,出现如此问题,求救
      

  4.   

    方便给个iconv库的链接吗?,遇到这个问题好头痛啊
      

  5.   


    把iconv目录拷贝到cocos2dx根目录下,即可
      

  6.   


    http://codingnow.cn/cocos2d-x/1038.html