一、配置NDK的linux环境linux

(1)下载libtool(http://mirrors.kernel.org/gnu/libtool/),进入目录,执行./configure和makeandroid

(2)下载NDK(http://wear.techbrood.com/tools/sdk/ndk/)c++

建立一套工具链,进入NDK的build/tools/目录,执行以下命令:

./make-standalone-toolchain.sh --platform=android-12 --install-dir=/home/xiaoming/android-ndk --toolchain=arm-linux-androideabi-4.9(根据本身ndk具体版本变化)git

将工具路径下的bin和NDK的目录添加到环境变量PATH里面,例如vim

执行vim ~/.profile添加export PATH=/home/xiaoming/android-ndk-r13:/home/xiaoming/android-ndk/bin:$PATHide

执行source ~/.profile工具

(3)编译libiconv开源库ui

使用libtool里面的config.sub替换libiconv里面的全部congfig.sub;idea

执行CFLAGS="-mthumb" CXXFLAGS="-mthumb" LIBS="-lstdc++" ./configure --host=arm-linux-androideabi --prefix=/home/xiaoming/install/libiconv或者CFLAGS="-mthumb" CXXFLAGS="-mthumb" LIBS="-lstdc++" gl_cv_header_working_stdint_h=yes  ./configure --host=arm-linux-androideabi --prefix=/home/xiaoming/install/libiconv --enable-static --disable-shared(静态库)命令;spa

若是不须要版本控制须要修改源码下生成的libtool文件中的library_names_spec="\$libname\${shared_ext}";和soname_spec=""便可;(下同)

执行make命令,有以下错误

/stdio.h:1010:1: error: ‘gets’ undeclared here (not in a function)

vim srclib/stdio.in.h文件,接着搜索到:

_GL_WARN_ON_USE (gets, “gets is a security hole - use fgets instead”); 这一行,而后把这个替换成:

#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)

_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");

#endif

最后执行make install

libiconv android编译,NDK编译经常使用开源库-libiconv相关推荐

  1. android中ndk编译错误,Android NDK编译常见错误及解决方案

    Android NDK编译常见错误及解决方案 Error 1:$ ndk-build/cygdrive/c/andy/abc/obj/local/armeabi-v7a/objs/abc//hello ...

  2. android通用ui库设计,Android(常用)主流UI开源库整理

    这几天刚做完一个项目..有点空余时间,就想着吧这一两年做的项目中的UI界面用到的一些库整理一下.后来想了一下,既然要整理,就把网上常用的 AndroidUI界面的主流开源库一起整理一下,方便查看. 这 ...

  3. Android之ndk编译出现“undefined reference to method“解决办法

    1.问题 我自己写了C的头文件和实现的C文件,然后编译成csapp.so库,然后在jni里面写了Android.mk文件和Application.mk文件,配置确保已经没问题,然后csapp.so的位 ...

  4. android.mk 优化编译,android下ndk编译c优化

    android开发中,有时候需要控制包的大小,这样就会要求对代码进行优化, 下面这个文章不错.大家可参考 原文链接 https://blog.algolia.com/android-ndk-how-t ...

  5. Android之ndk编译出现这个错误error: unused variable ‘a‘ [-Werror=unused-variable]

    1.问题 在jni里面就加了一行代码 编译的时候出现这个错误 error: unused variable 'a' [-Werror=unused-variable] 2.解决办法 找到相应的Make ...

  6. android图片压缩的两个开源库

    Luban(鲁班) -- Android图片压缩工具,仿微信朋友圈压缩策略. 项目描述 目前做App开发总绕不开图片这个元素.但是随着手机拍照分辨率的提升,图片的压缩成为一个很重要的问题.单纯对图片进 ...

  7. Android studio中使用NumCpp最新开源库

    前言 现在python开发深度学习常用的一个库numpy,使用非常方便,但如果将模型部署到Android环境中,是没办法使用numpy.幸运的是,NumCpp库出现了,可以说是C++版的Numpy,网 ...

  8. Android开发实践:在任意目录执行NDK编译

    本文暂时不讲述如何用NDK编译第三方开源代码库,而是先以简单的例子讲述如何在任意目录把自己写的C代码编译成Android可使用的静态库/动态库. 1. 准备环境 首先,你得安装了Android的NDK ...

  9. 【Android开发】:在任意目录执行NDK编译

    2019独角兽企业重金招聘Python工程师标准>>> 文以简单的例子讲述如何在任意目录把自己写的C代码使用NDK提供的交叉编译该工具来编译成Android可使用的静态库/动态库. ...

  10. android studio ndk HelloWorld 编译环境搭建

    android studio NDK helloworld 项目 第一步 android studio ndk 编译环境搭建 http://yunpan.cn/c3cCxxgwrqDaL 访问密码 6 ...

最新文章

  1. AdaBoost人脸检测原理
  2. Oracl数据库管理方面的资料(查询sga,查看oracle数据库名称sid,查看oracle数据库名称,查看表空间,修改表空间名称,数据库管理,sqlPlus数据显示)
  3. 职高学计算机走单招是,职高学生不用愁了,还有机会上本科,走“单招”或是最佳途径!...
  4. Rust+Yew之hello world
  5. 杭电1425 sort
  6. java趣味题-打印杨辉三角
  7. 整数类型及整数类型的显示转换
  8. 一个由于springboot自动配置所产生的问题的解决
  9. 【机器人】激光测距传感器的数据处理步骤
  10. 常用计算机名词解释,计算机常用名词解释
  11. 关于前端页面的meta标签的属性及其用法
  12. 大创(国创)国家级最新模板资料分享大学生创新创业训练项目怎么准备模板参考学习立项结题报告中期检查报告申报书的创新点和项目特色流程表结项任务书阶段性报告验收表实施心得成果怎么写报了大创需要准备什么做什么
  13. 在Ubuntu16.04上安装QQ
  14. 怎么理解JS Promise
  15. 谷歌搜索留痕组合工具,批量生成
  16. 无人机集群任务规划方法研究综述论文解读
  17. 2021AAPM大赛第一名技术报告Designing an Iterative Network for Fanbeam-CTwith Unknown Geometry 阅读笔记
  18. FCKeditor使用初步
  19. Fluent动网格【1】:概述
  20. 利用广义可加模型对分类数据进行曲线拟合

热门文章

  1. 网络通信基础知识总结
  2. Unity 按钮脚本
  3. Ubuntu设置系统时间与网络时间同步
  4. 64bitwin7通过tns远程连接不上32bitlinux的rac
  5. 小说阅读器java源代码_Android项目源码任阅小说阅读器高仿追书神器
  6. 汇编语言程序设计的实验环境及上机步骤
  7. 动软代码生成器连接8.0.17版本的mysql
  8. win8计算机无法安装打印机驱动程序,win8.1安装打印机驱动的方法 惠普打印机驱动程序安装教程...
  9. IDEA编辑器常用快捷键
  10. lgg7刷机包下载_LGG7One刷机包