我们知道,jpeg格式的图片是经过压缩处理的,所以想要在ARM开发板中显示,就需要一些库文件的支持,当然牛逼的人也可以自己写解压算法做库文件,不过作为小白的我,还是先借用别人做好的库吧哈哈哈哈
移植步骤:
1.下载JPEG官方库文件
进入该网址:http://www.ijg.org 下载一个库文件压缩包,jpegsrc.v9c.tar.gz或者jpegsrc.v9c.zip
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190712083114418.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0NoZW5fcWlfaGFp,size_16,color_FFFFFF,t_70)
2.将下载好的压缩包放到家目录,并解压
tar -xvf jpegsrc.v9c.tar.gz
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190712083810903.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0NoZW5fcWlfaGFp,size_16,color_FFFFFF,t_70)
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 (运行平台)
*/
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190712084529415.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0NoZW5fcWlfaGFp,size_16,color_FFFFFF,t_70)
4.编译与安装
make
make install
![在这里插入图片描述](https://img-blog.csdnimg.cn/2019071208505726.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0NoZW5fcWlfaGFp,size_16,color_FFFFFF,t_70)
5.进入armjpeg目录,将lib下的所有动态库文件拷贝到开发板的lib目录下
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190712085207444.png)
编译安装成功后,可以看到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+库名称 链接到库
*/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)