最近在写一个图片解码器的小项目,需要解码jpg图片,所以需要用到libjped库。下面说一下具体步骤和遇到的问题:
一、libjped的移植
1、将下载好的压缩包放在/root/delocdporting文件夹下(文件夹自己定义)
(1)经典版本v6b:https://sourceforge.net/projects/libjpeg/files/libjpeg/6b/
(2)最新版本v9b:http://www.ijg.org/
上面是两个下载地址
2、解压,配置
配置命令如下 ./configure --prefix=/opt/libdecode --exec-prefix=/opt/libdecode --enable-shared --enable-static -build=i386 -host=arm,要现在/opt/下创建libdecode文件夹
3、Makefile的检查:主要查看交叉编译设置是否正确
CC=gcc 改为 CC=arm-linux-gcc
AR=ar rc 改为 AR=arm-linux-ar rc
AR2=ranlib 改为 AR2=arm-linux-ranlib
(4)编译 make
make时我遇到了一个问题:make: ./libtool:命令未找到 make: *** [jcapimin.lo] 错误 127
原因是没有安装libtool这个库,我们需要安装和这个库:
找一个文件夹:
第一步:下载安装包
http://ftp.gnu.org/gnu/libtool/libtool-2.2.6a.tar.gz
第二步:解压
tar -zxvf libtool-2.2.6a.tar.gz
第三步:配置:
./configure --prefix=/usr/local
第四步:编译
make
make install
安装完成之后可以看到在/usr/local/share/目录下生成了libtool文件夹,将其中的部分文件复制到jpeg源代码 目录下。
第五步:复制
root@ubuntu:/usr/local/share/libtool/config# cp config.sub config.guess /root/decodeporting/jpeg-6b
第六步:
接下来一定要在jpeg源代码目录下make clean一下,然后重新配置变量:
./configure --prefix=/opt/libdecode --exec-prefix=/opt/libdecode --enable-shared --enable-static -build=i386 -host=arm
(5)安装 make install-lib 安装就是将编译生成的库文件、头文件、可执行文件分别装载到--prefix --exec-prefix所指定的那 些目录中去。
到这为止就把libjpeg库安装完成。还需要对libjpeg进行部署:
二、libjpeg部署:
部署动态链接库一般有三个位置可以考虑:
第一个:/lib
第二个:/usr/lib
第三个:任意指定目录
在自己的根文件系统/rootfs下的usr中有一个lib文件夹,没有的话建一个,将动态度复制过来:cp /opt/libdecode/lib*.so* ./
就部署OK了。