前言

  方便做嵌入式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

  zlib开发笔记(三):zlib库介绍、在ubuntu上进行arm平台交叉编译_qt

步骤四:验证

  输入头几个字母,使用tab:
  zlib开发笔记(三):zlib库介绍、在ubuntu上进行arm平台交叉编译_qt_02
  并查看具体的版本:
  zlib开发笔记(三):zlib库介绍、在ubuntu上进行arm平台交叉编译_交叉编译_03

 
zlib交叉编译

步骤一:解压

tar xvf zlib-1.2.11.tar.gz

  zlib开发笔记(三):zlib库介绍、在ubuntu上进行arm平台交叉编译_交叉编译_04

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

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

  zlib开发笔记(三):zlib库介绍、在ubuntu上进行arm平台交叉编译_qt_05

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

  zlib开发笔记(三):zlib库介绍、在ubuntu上进行arm平台交叉编译_qt_06

步骤四:编译make

make

  zlib开发笔记(三):zlib库介绍、在ubuntu上进行arm平台交叉编译_交叉编译_07
  经过多方面的研究排除,最后发现是CC连接的库与实际连接库使用的gcc不同,修改如下:

gedit makefile

  zlib开发笔记(三):zlib库介绍、在ubuntu上进行arm平台交叉编译_arm_08

步骤五:make

make

  zlib开发笔记(三):zlib库介绍、在ubuntu上进行arm平台交叉编译_交叉编译_09

步骤六:安装sudo make install

sudo make install

  zlib开发笔记(三):zlib库介绍、在ubuntu上进行arm平台交叉编译_arm_10

步骤七:检查编译结果

  zlib开发笔记(三):zlib库介绍、在ubuntu上进行arm平台交叉编译_qt_11
  zlib开发笔记(三):zlib库介绍、在ubuntu上进行arm平台交叉编译_交叉编译_12

 
模块化

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

 
工程模板v1.0.0.

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