编译安装zlib的过程中如果使用 prefix= 指定输出目录,等到安装libpng库的时候就会显示找不到zlib库的错误,错误信息:configure: error: ZLib not installed。
由于出现了这个问题,所以查询了很多网上的解决方案,基本上都是用make clean清除原先的zlib安装库,并且重新编译不加prefix=指令,但是当zlib库和其他库也作为第三方依赖库源并且只有一个依赖库路径的时候就会显得很麻烦。所以由一下的解决方案可以不用改变zlib的安装路径并且解决问题:
要解决这个问题最重要的是要了解到libpng库是不需要configure的,因为在scripts目录下已经提供makefile,所以没有必要使用configure来创建makefle文件了。
因此把scripts目录下makefile.linux拷贝到源码包根目录中,直接make就可以。但是为了解决找不到zlib库这个问题,所以需要修改这个makefile。
以下是安装libpng的具体步骤:
(1)cp scripts/makefile.linux makefile
(2)vim makefile
(3)makefile中找到zlib相关的两行,修改成实际的zlib/lib和zlib/include,再找到prefix项,修改为你想prefix的目录中,
如果此处是交叉编译的话,还需要在cc那边把gcc修改成您系统的交叉编译器,比如:arm-linux-gcc
(4)保存并且make make install