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