zlib開發筆記(三):zlib庫介紹、在ubuntu上進行arm平台交叉編譯

  • 2021 年 8 月 23 日
  • 筆記

前言

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

 

Zlib庫

  zlib被設計為一個免費的,通用的,法律上不受限制的-即不受任何專利保護的無損數據壓縮庫,幾乎可以在任何電腦硬體和作業系統上使用。

下載

  官網://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,所以模組無需修改引入參數)。