1.去如下网址下载zlib-1.2.12

zlib Home Sitehttp://www.zlib.net/2.交叉编译,安装

注意:要是用于NDK交叉编译qemu的依赖库,编译器工具API级别要在30以后,最好用33

因为只有30以后的版本支持函数memfd_create,详情请看http://t.csdn.cn/465cy

tar -xvf zlib-1.2.12.tar.gz

cd zlib-1.2.12 && mkdir build && cd build

export CC=

export CHOST=aarch64-linux-android21

../configure --prefix=/home/dubu/installtest --shared --uname=linux
make

make install

注意:

为什么要设置空的shell变量CC,以及为什么设置变量CHOST,为什么加上选项--uname=linux,

答:因为zlib包的./configure -h查看支持的选项比较少,其实configure也是一个shell脚本,可以用vi查看configure。可以看到shell变量CHOST最终会赋值给变量CROSS_PREFIX(它的意思就是编译器前缀),并且如果CHOST有值,变量uname就会在CHOST中取值,我这样的设置最终uname的值是android21,其实android也是linux,很无语,如果他是linux,我就不会后面添加上--uname=linux(意思就是变量uname=linux)这个选项了。设置变量CC,CHOST,加上选项--uname=linux的共同作用是为了生成动态库。

如果你执行./configure --help 会发现根本没有这几个选项,其实不用疑惑,可以直接去阅读configure脚本里面的具体实现,configure头一行就是#!/bin/sh,通过这一行可以看出configure是一个脚本。仔细查看这个脚本就会明白,要想编译出来动态库为什么要这样作了。

我已经把NDK的编译工具链的路径加入到PATH环境变量中,如果没有加的会找不到aarch64-linux-android21-gcc编译器。如果是aarch64-linux-android21-clang,就作一个链接命令:

ln -s aarch64-linux-android21-clang aarch64-linux-android21-gcc

用NDK-r25交叉编译zlib-1.2.12相关推荐

  1. Android NDK(ndk-r16b)交叉编译FFmpeg(3.3.9)

    1.下载FFmpeg(3.3.9) ffmpeg官网:Index of /releases ffmpeg-3.3.9下载链接: http://www.ffmpeg.org/releases/ffmpe ...

  2. 使用 Android NDK 的交叉编译工具链移植 C/C++ 项目到安卓平台

    什么是 NDK? Android NDK 是一套可以让开发者在安卓应用开发中使用 C/C++ 实现特定模块的工具集,不是所有应用都需要用到,但是正确地使用可以有效提高应用运行效率和安全性. 为什么要在 ...

  3. 交叉编译zlib,libpng

    1.zlib编译 zlib库官网网址:http://www.zlib.net/ zlib库源码下载地址:http://www.zlib.net/fossils/ tar -xzvf zlib-1.2. ...

  4. 基于Android NDK的交叉编译

    本人的环境是windows 10 64位. 在本机安装Android Stduio,并通过AS安装好NDK. 编辑一个c文件hello.c cd D:\Android\sdk\ndk-bundle\t ...

  5. FFmpeg NDK跨平台交叉编译

    1.首先选择Windows平台安装好环境 windows搭建gcc开发环境(msys2) 2.创建一个通用脚本 basepath=$(cd 'dirname $0'; pwd) echo ${base ...

  6. 用android ndk编译ffmpeg,AndroidNDK交叉编译FFMPEG

    1. 简介 在进行安卓音视频开发时,利用安卓NDK工具交叉编译FFmpeg,生成可供安卓平台调用的FFmpeg库是最基础的工作.本篇文章介绍了利用NDK进行FFmpeg编译的具体过程,以及如何在Lin ...

  7. 【Android 内存优化】libjpeg-turbo 函数库交叉编译与使用 ( 交叉编译脚本编写 | 函数库头文件拷贝 | 构建脚本配置 | Android Studio 测试函数库 )

    文章目录 一.交叉编译 Shell 脚本参考 二.NDK r16b 版本配置 三.libjpeg-turbo 交叉编译 Shell 脚本 四.执行 libjpeg-turbo 交叉编译 Shell 脚 ...

  8. 基于ARM Cortex-A8和Android 4.x的联动报警系统 (Android 、A8、Linux、驱动、NDK)

    · 课程讲师:老夫子 · 课程分类:Android · 适合人群:高级 · 课时数量:38(70节)课时 · 更新程度:完毕 · 服务类型:C类(普通服务类课程) · 用到技术:Android.A8. ...

  9. 史上最全的基于ffmpeg+sdl网络摄像头编解码播放资料(包含交叉编译过程,附带完整源码)

    原创博文,严禁私自转载,转载请注明出处!!! 近期,由于工作需要,要在开发板上跑一个摄像头,摄像头款式比较老,不支持rtsp格式,所以选择编译ffmpeg+sdl实现软解码播放摄像头,特此记录整个编译 ...

  10. 【Android FFMPEG 开发】音视频基础 和 FFMPEG 编译 ( 音视频基础 | MPEG-4 标准 | Android 开发环境 | FFMPEG 交叉编译 | 安卓项目导入配置 )

    本篇博客代码及资源下载 : https://download.csdn.net/download/han1202012/10382762 文章目录 一. 音视频基础 1. 音频基础 (1) 声音要素 ...

最新文章

  1. c++ 句柄 计算控件坐标_练习答案|| 计算机基础第【28】期
  2. 电脑反应慢卡怎么解决_电脑开不了机怎么解决?
  3. 将计算机设置成交换机主机名,CISCO2950交换机的配置(设置密码、IP地址、主机名)...
  4. Freemarker模板引擎
  5. 如何创建基本的高级队列之一:创建发送方代码
  6. 【转】Android中APK安装过程及原理解析
  7. 通过配置文件连接mysql_利用配置文件连接数据库
  8. 使用python插件将程序打包为exe
  9. Scala的模式匹配和条件类
  10. Java多窗口编程示例
  11. DM8 Linux服务注册
  12. 作为互联网人,这些潮流词汇你懂吗?
  13. Linux之alias取别名
  14. React中的Hooks是什么?
  15. 盘点程序员逃离一线的Plan B
  16. js符号转码_js 字符串编码转换函数
  17. [转载]Emit学习之旅(1):Emit概览
  18. 基于WebGL架构的3D可视化平台—城市地下管线3D可视化
  19. 【解惑】专科生在IT的发展之路
  20. dubbo官方文档_Dubbo(一)

热门文章

  1. python处理excel数据并对数据进行打分
  2. 剪不断,理不乱——三层架构之抽象工厂加反射
  3. 以色列技术!Amimon无线WHDI技术解析
  4. 字节题--雀魂启动!
  5. 关于如何连接网络打印机
  6. 实验吧WEB CTF 猫抓老鼠 全网最简单易懂的解题方法
  7. 网页打印中,A4纸对应的像素值的设定和换算
  8. 安卓模拟器打开开发者选项
  9. 福建中医药大学数字化校园应用及数据容灾系统181万
  10. chrome图片下载插件