arm-linux交叉編譯zlib及常見問題解決


1. zlib交叉編譯步驟

(1)首先搭建arm-linux交叉編譯環境,之前的博客中有提到。傳送門在此。

(2)下載zlib源碼包,官網地址:http://www.zlib.net/,當前版本1.2.11

或者使用命令wget下載,路徑/usr/local/src下:

sudo wget http://prdownloads.sourceforge.net/libpng/zlib-1.2.11.tar.gz

(3)解壓縮

sudo tar -zxvf zlib-1.2.11.tar.gz

(4)交叉編譯

sudo mkdir zlib   //zlib的安裝路徑
cd zlib-1.2.11
sudo ./configure --prefix=/usr/local/src/zlib  //也可以設置自己的安裝路徑,或者默認

zlib的configure不支持設置--host項,因此需要手動更改Makefile,sudo gedit命令打開Makefile文件,將其中的CC、AR、RANLIB都修改為arm-linux交叉編譯器的相關參數,如下圖所示:

注意上圖中第2、3個箭頭所指位置也需要進行修改,否則會出現下面要說的編譯時出現的問題。也就是將LDSHARED和CPP兩項中的gcc替換為CC修改后的內容。

Makefile文件修改后保存退出,接下去執行下面兩條命令,完成交叉編譯。

sudo make
sudo make install

這里有一個坑需要注意一下,操作順序,configure > 修改Makefile > make > make install。configure在修改文件之前,且修改完文件后,不需要重新configure。

2. 編譯時遇到的常見問題

make時遇到以下問題:【adler32.lo】

解決辦法是需要將Makefile中所有的gcc替換為交叉編譯鏈的gcc,即與CC相同的內容。

 

參考鏈接:

1. 如何安裝zlib

2. 交叉編譯zlib

3. 關於zlib安裝時出現的錯誤


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM