libpng-1.2.12.tar.gz安装与移植

来源:互联网 发布:c语言实验报告怎么写 编辑:程序博客网 时间:2024/06/01 11:21

很多时候我们安装工具包会报错,原因是缺少这个库文件,此时我们就应该安装它,不同的平台用不同的编译工具,本次编译在arm平台上,写本文档的初衷在于我在移植qrencode工具时需要用到该库。

准备工作
linux环境:centos6.5
位数:64位
libpng-1.2.12.tar.gz下载地址: http://download.csdn.net/download/zzlee0001/4351834

1、解压源码

#tar -xzvf libpng-1.2.12.tar.gz

2、进入源码进行配置

#cd libpng-1.2.12#./configure --host=arm-linux 

至于–prefix选项我们这里就不配置了,默认安装到/usr/local/lib目录下

3、安装

#make#make install

4、编译生成
默认安装到/usr/local/lib目录下,需要的文件去/usr/local/目录下找
到此安装就算完成了,如果不编译到arm环境下,配置就不指定工具链即可,直接执行

./configure

会在当前目录下生成Makefile文件,如果不执行就不会有Makefile产生

5、qrencode带来的小插曲
在编译qrencode时出现如下错误
/usr/local/lib/libpng12.so: undefined reference to `rpl_malloc’
解决办法

#cd cd libpng-1.2.12#ls

在执行ls命令后发现存在config.h头文件

#vim config.h

然后打开看84行如下:

#define malloc  rpl_malloc

正是因为这句话的原因出现的错误,libqrencode不知道为什么链接了个不存在的函数:rpl_malloc。因为工具链中的所有库都是自己编译的,我怀疑是libpng.so库的问题,里面存在rpl_malloc,根据原因上网查找,发现在config.h中可能存在,于是用/**/屏蔽了上述代码,从新编译libpng,在返回从新编译qrencode

0 0
原创粉丝点击