用NDK-r25交叉编译zlib-1.2.12
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
makemake 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相关推荐
- 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 ...
- 使用 Android NDK 的交叉编译工具链移植 C/C++ 项目到安卓平台
什么是 NDK? Android NDK 是一套可以让开发者在安卓应用开发中使用 C/C++ 实现特定模块的工具集,不是所有应用都需要用到,但是正确地使用可以有效提高应用运行效率和安全性. 为什么要在 ...
- 交叉编译zlib,libpng
1.zlib编译 zlib库官网网址:http://www.zlib.net/ zlib库源码下载地址:http://www.zlib.net/fossils/ tar -xzvf zlib-1.2. ...
- 基于Android NDK的交叉编译
本人的环境是windows 10 64位. 在本机安装Android Stduio,并通过AS安装好NDK. 编辑一个c文件hello.c cd D:\Android\sdk\ndk-bundle\t ...
- FFmpeg NDK跨平台交叉编译
1.首先选择Windows平台安装好环境 windows搭建gcc开发环境(msys2) 2.创建一个通用脚本 basepath=$(cd 'dirname $0'; pwd) echo ${base ...
- 用android ndk编译ffmpeg,AndroidNDK交叉编译FFMPEG
1. 简介 在进行安卓音视频开发时,利用安卓NDK工具交叉编译FFmpeg,生成可供安卓平台调用的FFmpeg库是最基础的工作.本篇文章介绍了利用NDK进行FFmpeg编译的具体过程,以及如何在Lin ...
- 【Android 内存优化】libjpeg-turbo 函数库交叉编译与使用 ( 交叉编译脚本编写 | 函数库头文件拷贝 | 构建脚本配置 | Android Studio 测试函数库 )
文章目录 一.交叉编译 Shell 脚本参考 二.NDK r16b 版本配置 三.libjpeg-turbo 交叉编译 Shell 脚本 四.执行 libjpeg-turbo 交叉编译 Shell 脚 ...
- 基于ARM Cortex-A8和Android 4.x的联动报警系统 (Android 、A8、Linux、驱动、NDK)
· 课程讲师:老夫子 · 课程分类:Android · 适合人群:高级 · 课时数量:38(70节)课时 · 更新程度:完毕 · 服务类型:C类(普通服务类课程) · 用到技术:Android.A8. ...
- 史上最全的基于ffmpeg+sdl网络摄像头编解码播放资料(包含交叉编译过程,附带完整源码)
原创博文,严禁私自转载,转载请注明出处!!! 近期,由于工作需要,要在开发板上跑一个摄像头,摄像头款式比较老,不支持rtsp格式,所以选择编译ffmpeg+sdl实现软解码播放摄像头,特此记录整个编译 ...
- 【Android FFMPEG 开发】音视频基础 和 FFMPEG 编译 ( 音视频基础 | MPEG-4 标准 | Android 开发环境 | FFMPEG 交叉编译 | 安卓项目导入配置 )
本篇博客代码及资源下载 : https://download.csdn.net/download/han1202012/10382762 文章目录 一. 音视频基础 1. 音频基础 (1) 声音要素 ...
最新文章
- c++ 句柄 计算控件坐标_练习答案|| 计算机基础第【28】期
- 电脑反应慢卡怎么解决_电脑开不了机怎么解决?
- 将计算机设置成交换机主机名,CISCO2950交换机的配置(设置密码、IP地址、主机名)...
- Freemarker模板引擎
- 如何创建基本的高级队列之一:创建发送方代码
- 【转】Android中APK安装过程及原理解析
- 通过配置文件连接mysql_利用配置文件连接数据库
- 使用python插件将程序打包为exe
- Scala的模式匹配和条件类
- Java多窗口编程示例
- DM8 Linux服务注册
- 作为互联网人,这些潮流词汇你懂吗?
- Linux之alias取别名
- React中的Hooks是什么?
- 盘点程序员逃离一线的Plan B
- js符号转码_js 字符串编码转换函数
- [转载]Emit学习之旅(1):Emit概览
- 基于WebGL架构的3D可视化平台—城市地下管线3D可视化
- 【解惑】专科生在IT的发展之路
- dubbo官方文档_Dubbo(一)