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安装时出现的错误

posted @ 2020-03-29 14:01  From_Zero  阅读(6601)  评论(0编辑  收藏  举报