libpng-1.2.12.tar.gz安装与移植
很多时候我们安装工具包会报错,原因是缺少这个库文件,此时我们就应该安装它,不同的平台用不同的编译工具,本次编译在arm平台上,写本文档的初衷在于我在移植qrencode工具时需要用到该库。准备工作linux环境:centos6.5位数:64位libpng-1.2.12.tar.gz下载地址: http://download.csdn.net/download/zzlee0001/43
很多时候我们安装工具包会报错,原因是缺少这个库文件,此时我们就应该安装它,不同的平台用不同的编译工具,本次编译在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)