#!/bin/sh
ANDROID_HOME=Android/prebuilt/ndk/android-ndk-r7
./configureCPPFLAGS="-I$ANDROID_HOME/platforms/android-6/arch-arm/usr/include/"CFLAGS="-nostdlib"
按照上面,编译过不去,只好照下面方法:
libiconv在NDK中未开放,因此在代码中无法直接引用iconv.h头文件,会报错no
1.下载libiconv的源码:https://github.com/pierrezurek/iconv
2.在源码的根目录下./configure,这样才能生成iconv.h和config.h
3.在android.mk文件中添加
LOCAL_PATH:=
include
LOCAL_MODULE
LOCAL_CFLAGS
LOCAL_C_INCLUDES
$(LOCAL_PATH)/libiconv-1.13.1
LOCAL_SRC_FILES
include
后面再加上一个动态库的编译即可。
4.利用如上的makefile直接对源码编译会出现找不到langinfo的错误,注释掉config.h里面的langifo定义行,问题解决。之后还会报c
5.至此,libiconv可以成功编译生成.a文件。
本文介绍如何解决libiconv在Android NDK中编译的问题,包括下载源码、配置编译参数、修改编译脚本等步骤,并提供了解决过程中遇到的具体错误及其解决方案。
921

被折叠的 条评论
为什么被折叠?



