利用NDK编译libiconv
来源:互联网 发布:网络母婴品牌排行榜 编辑:程序博客网 时间:2024/05/22 04:37
libiconv在NDK中未开放,因此在代码中无法直接引用iconv.h头文件,会报错no such file ordirectory。这时需要将libiconv的源码利用NDK重新交叉编译。
1.下载libiconv的源码:https://github.com/pierrezurek/iconv
2.在源码的根目录下./configure,这样才能生成iconv.h和config.h
3.在android.mk文件中添加
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := iconv
LOCAL_CFLAGS := \
-Wno-multichar \
-D_ANDROID \
-DLIBDIR="c" \
-DBUILDING_LIBICONV \
-DIN_LIBRARY
LOCAL_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)后面再加上一个动态库的编译即可。
4.利用如上的makefile直接对源码编译会出现找不到langinfo的错误,注释掉config.h里面的langifo定义行,问题解决。之后还会报c undeclaired错误,localcharset.c文件中的int c;语句放到该函数的开头,问题解决。
5.至此,libiconv可以成功编译生成.a文件。
- 利用NDK编译libiconv
- 利用NDK编译libiconv
- NDK编译常用开源库-libiconv
- 编译libiconv
- linux环境下libiconv库基于Android NDK的编译方法
- (OK) 编译libiconv-1.14(静态库)—CentOS 7— android-ndk
- (OK) 编译libiconv-1.14(静态库)—CentOS 7— android-ndk
- windows下编译libiconv
- 编译 libiconv出错了
- vs2013 编译libiconv
- Android交叉编译libiconv
- vs2010编译libiconv
- libiconv静态编译
- libiconv编译出错解决
- Libiconv的交叉编译
- libiconv编译与使用
- libiconv编译出错解决
- Windows下面编译libiconv
- 黑马程序员之银行业务调度系统
- Move-to-front transform 算法
- Objective-c 字符输出
- 贪吃蛇游戏(附源码)
- vim 批量查找替换
- 利用NDK编译libiconv
- Oracle 表连接方式(内连接/外连接/自连接) 详解 .
- oracle 查询执行顺序
- 2011年Android手机购买意向调查研究报告
- C# OpenCV学习笔记五之图像轮廓
- c# break、continue、return
- 黑马程序员_IO输入输出补充
- eax ...edi esp ebp寄存器简介(转)
- 程序=沟通+思考