前言

  方便做嵌入式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. mybatis 配置的log4j文件无效,不能正常显示日志信息

    正在学习mybatis,配置好后log4j.properties文件后,日志信息不能正常显示,没有效果. 查看了一下mybatis的相关文档,在日志一栏找到问题愿意 原因是我们的mybatis选了其他 ...

  2. openjudge走迷宫(DFS)

    题目: 描述 一个迷宫由R行C列格子组成,有的格子里有障碍物,不能走:有的格子是空地,可以走. 给定一个迷宫,求从左上角走到右下角最少需要走多少步(数据保证一定能走到).只能在水平方向或垂直方向走,不 ...

  3. YAOI Round #7 题解

    前言 比赛链接: Div.1 : http://47.110.12.131:9016/contest/16 Div.2 : http://47.110.12.131:9016/contest/15 D ...

  4. nodejs安装+vue安装

    一.nodejs安装 电脑win7的,nodejs V12.16.2以前的版本支持win7 nodejs下载地址: http://mirrors.nju.edu.cn/nodejs/v12.15.0/ ...

  5. c++中的对象模型

    1 对象模型的前世 类在c++编译器内部可以理解成结构体,所以在对象模型分析时,我们可以把 class  当作一种特殊的 struct: 1)在内存中 class 可以看作是普通成员变量的集合: 2) ...

  6. IDEA工具-自动导包去除星号(import xx.xx.*)

    打开设置>Editor>Code Style>Java>Scheme Default>Imports 设置导入类数值阈值,默认同包类是超过5个变成*,静态导入超过3个变成 ...

  7. Python语言的技术领域

    第一部分:各个领域应用的语言 大家看这个内容,其实你很明显发现,其实各个语言都有他的用处.我们可以说Python是应用最广的.但是暂时还是不能说它是全能的,因为他也有它的短板,但是对于一般的小公司和小 ...

  8. 【开发工具】-- IDEA集成Git在实际项目中的运用

    1.企业实际项目中Git的使用 在实际的企业项目开发中,我们一般Java的项目在公司都有自己的局域网代码仓库,仓库上存放着很多的项目.以我工作过的公司如华为的项目,一般是存放在企业内部的CodeHub ...

  9. SSM框架中mapper层,增删改查,如何实现

    1.批量修改 <!-- 批量修改 MySQL--> <update id="updateBatch" parameterType="java.lang. ...

  10. sql select 1 和 exists

    SELECT * FROM LACOMMISION WHERE MANAGECOM LIKE'8694%' AND STATE='1' AND EXISTS(SELECT 1 FROM laagent ...