前言

  方便做嵌入式arm的交叉移植zlib库。

 

Zlib库

  zlib被设计为一个免费的,通用的,法律上不受限制的-即不受任何专利保护的无损数据压缩库,几乎可以在任何计算机硬件和操作系统上使用。

下载

  官网:http://www.zlib.net
  QQ群:1047134658(点击“文件”搜索“zlib”,群内与博文同步更新)

 

交叉编译环境准备

步骤一:交叉编译链工具制作

  (略)

步骤二:引入交叉编译链工具到环境变量

  创建环境文件

touch env.sh

  编辑文件

gedit env.sh
env.sh
#/bin/bash
export PATH=/home/yang/work/tool/gcc-sigmastar-9.1.0-2019.11-x86_64_arm-linux-gnueabihf/bin:$PATH

  (注意:PATH中的路径修改为交叉编译器的实际路径)

步骤三:启动控制台,并引入该文件

source ../tool/env.sh

  

步骤四:验证

  输入头几个字母,使用tab:
  
  并查看具体的版本:
  

 

zlib交叉编译

步骤一:解压

tar xvf zlib-1.2.11.tar.gz

  

步骤二:引入交叉编译器(请先执行“交叉编译环境准备”)

export CC=arm-linux-gnueabihf-9.1.0-g++

  

步骤三:配置configure(CC则是交叉编译)

  

步骤四:编译make

make

  
  经过多方面的研究排除,最后发现是CC连接的库与实际连接库使用的gcc不同,修改如下:

gedit makefile

  

步骤五:make

make

  

步骤六:安装sudo make install

sudo make install

  

步骤七:检查编译结果

  
  

 

模块化

  Ubuntu上对于库的模块化不包含库,模块化可参考《zlib开发笔记(一):zlib库介绍、编译和工程模板

 

工程模板v1.0.0.

  对应工程模板:zipDemo_v1.0.0_基础模板_zip库的基础环境.rar
  (该工程模板,由于ubuntu系统问题而加载库为.so,所以忽略模块中自带的dll,所以模块无需修改引入参数)。

 

zlib开发笔记(三):zlib库介绍、在ubuntu上进行arm平台交叉编译的更多相关文章

  1. Qt开发笔记:OpenSSL库介绍、windows上mingw32版本的OpenSSL编译模块化

    前言   Windows上mingw32版本的openssl的编译是属于比较棘手的,OpenSSL本身不提供支持..   OpenSSL 介绍   OpenSSL是一个开放源代码的软件库包,应用程序可 ...

  2. zlib开发笔记(四):zlib库介绍、编译windows vs2015x64版本和工程模板

    前言   Qt使用一些压缩解压功能,介绍过libzip库编译,本篇说明zlib库.需要用到zlib的msvc2015x64版本,编译一下.   版本编译引导 zlib在windows上的mingw32 ...

  3. Django开发笔记三

    Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.基于类的方式重写登录:views.py: from ...

  4. libzip开发笔记(二):libzip库介绍、ubuntu平台编译和工程模板

    前言   Qt使用一些压缩解压功能,选择libzip库,libzip库比较原始,也是很多其他库的基础支撑库,编译过了windows版本,有需求编译一个ubuntu版本的,交叉编译需求的同样可参照本文章 ...

  5. 安卓开发笔记——关于Handler的一些总结(上)

    接上篇文章<安卓开发笔记——关于AsyncTask的使用>,今天来讲下在安卓开发里"重中之重"的另一个异步操作类Handler. 今天打算先讲下关于Handler的一些 ...

  6. iOS学习笔记9 - 组件库介绍1

    总算成功开发完了第一个较大的功能(即时通信).毕竟不可能什么东西都从轮子开始造,于是用到了一些组件,这里简单列举一下吧. 1. FMDB 作为一种文件型的数据存储方式,SQLite在iOS开发中自然也 ...

  7. java开发地三天——数据库介绍

    又是一天萌萌哒地过去了,今天是处理数据库的部分.SQL Server 2008,这东西是上学期搞MFC的时候接触到的,那时候话说安装就是一个大问题,然后在学SQL语句的时候感觉还好,一切都还过得去.现 ...

  8. 流媒体服务器开发笔记(2)--RTCP协议介绍

    http://blog.sina.com.cn/s/blog_53061af00100o2no.html ——————————————————————————————————————————————— ...

  9. Gif开发笔记(一):gif介绍、编译和工程模板

      前言   实现gif图片的解码和生成.   Gif 简介   GIF格式的名称是Graphics Interchange Format的缩写,是在1987年由Compu Serve公司为了填补跨平 ...

随机推荐

  1. RabbitMQ 安装与界面管理

    RabbitMQ 安装与界面管理 RabbitMQ概述 官网:https://www.rabbitmq.com/ RabbitMQ是部署最广泛的开源消息代理. RabbitMQ拥有成千上万的用户,是最 ...

  2. es-head部署

    #一.更新centos7的库sudo yum update -y二.安装一系列文件(已安装可以不安装)sudo rpm -ivh http://dl.fedoraproject.org/pub/epe ...

  3. c++中的静态成员

    引言 有时候需要类的一些成员与类本身相关联,而不是与类的每个对象相关联.比如类的所有对象都要共享的变量,这个时候我们就要用到类的静态成员. 声明类的静态成员 声明静态成员的方法是使用static关键字 ...

  4. 详解递归(基础篇)———函数栈、阶乘、Fibonacci数列

    一.递归的基本概念 递归函数:在定义的时候,自己调用了自己的函数. 注意:递归函数定义的时候一定要明确结束这个函数的条件! 二.函数栈 栈:一种数据结构,它仅允许栈顶进,栈顶出,先进后出,后进先出.我 ...

  5. File类与常用IO流第七章——Properties集合

    Properties概述 java.util.Properties extends Hashtable<k,v> implements Map<k,v> Properties类 ...

  6. 以初学者的角度理解:SQL实现关系除法

    以初学者的角度理解:SQL实现关系除法 相信各位在学习SQL的时候,由于没有一家SQL语言提供除法命令而只能自己写一个.而网上大多就是四步骤加一个模板: select distinct A.X fro ...

  7. 【剑指offer】27. 二叉树的镜像

    剑指 Offer 27. 二叉树的镜像 知识点:二叉树:递归:栈 题目描述 请完成一个函数,输入一个二叉树,该函数输出它的镜像. 示例 输入:root = [4,2,7,1,3,6,9] 输出:[4, ...

  8. P2476-记忆化搜索

    链接 DP? 我们看看,这个状态似乎有亿点点多. 我们看看数据范围,数量不超过5,颜色数不超过15. 15维DP显然不靠谱. 那么我们就思考一下--个数? 记忆化搜索可ac: #include< ...

  9. PySpider爬取去哪儿攻略数据项目

    1 创建项目 点击WEB中的Create创建项目 填入相关项目名和其实爬取URL 创建后进入项目首页 右边 Handler 是pyspider的主类,整个爬虫一个Handler,其中可定义爬虫的爬取. ...

  10. JS_点击事件_弹出窗口_自动消失

    <!doctype html> <html> <head> <meta charset="utf-8"/> <title> ...