我们知道,jpeg格式的图片是经过压缩处理的,所以想要在ARM开发板中显示,就需要一些库文件的支持,当然牛逼的人也可以自己写解压算法做库文件,不过作为小白的我,还是先借用别人做好的库吧哈哈哈哈
移植步骤:
1.下载JPEG官方库文件
进入该网址:http://www.ijg.org 下载一个库文件压缩包,jpegsrc.v9c.tar.gz或者jpegsrc.v9c.zip
2.将下载好的压缩包放到家目录,并解压
tar -xvf jpegsrc.v9c.tar.gz
3.进入JPEG源码目录,进行配置
cd jpeg-9c
./configure --host=arm-linux --prefix=/home/chenhai/armjpeg CC=arm-linux-gcc
/*
参数说明:
--prefix=/home/chenhai/armjpeg (生成的库文件所存放的路径)
CC=arm-linux-gcc (指定使用的编译器)
--host=arm-linux (运行平台)
*/
4.编译与安装
make
make install
5.进入armjpeg目录,将lib下的所有动态库文件拷贝到开发板的lib目录下
编译安装成功后,可以看到armjpeg目录下多了四个目录(bin include lib share),由于开发板中资源有限,我们不必全部拷贝到开发板,只需要lib目录下的库文件即可;并配置相关库文件的路径,程序在运行过程中能链接到动态库,其实连静态库也没必要拷到开发板,因为静态库在程序编译的时候就链接进去代码了,因此放到开发板中便能执行,,而动态库则不编译进代码,在程序执行时需要链接到相关的库。
6.程序编译命令
arm-linux-gcc main.c example.c -o example -I/home/chenhai/armjpeg/include -L/home/chenhai/armjpeg/lib -ljpeg
/*
参数说明:
-I/home/chenhai/armjpeg/include 指定库文件的头文件所在路径
-L/home/chenhai/armjpeg/lib 指定库文件的所在路径
-ljpeg -l+库名称 链接到库
*/