libjpeg编译使用详解

本文详细介绍了如何使用libjpeg-turbo库编译JPEG图像,并将其显示在LCD屏幕上。首先,文章讲解了如何将库文件复制到开发板,并通过`arm-linux-gcc`编译一个简单的示例程序`jpg2rgb`。接着,展示了如何初始化LCD设备,并定义了用于显示像素和清理屏幕的函数。最后,文章的重点在于JPEG解压缩过程,包括分配解压缩结构体、设置解压缩参数、启动解压缩、读取扫描线并显示在LCD上。
摘要由CSDN通过智能技术生成

首先给大家分享一个巨牛巨牛的人工智能教程,是我无意中发现的。教程不仅零基础,通俗易懂,而且非常风趣幽默,还时不时有内涵段子,像看小说一样,哈哈~我正在学习中,觉得太牛了,所以分享给大家!点这里可以跳转到教程

                一、交叉编译libjpeg
# tar -xzvf libjpeg-turbo-1.2.1.tar.gz 

#cd libjpeg-turbo-1.2.1

#mkdir tmp

# ./configure --prefix=$PWD/tmp --host=arm-linux
#make
#make install                /* 会安装在当前目录下面tmp目录里面 */ 

二、交叉编译jpg2rgb.c
方法一:编译器后面直接跟上头文件,库文件。路径是我们开始编译出来的路径。
arm-linux-gcc -o jpg2rgb jpg2rgb.c -I /home/book/workspace/project/libjpeg-turbo-1.2.1/tmp/include  -L /home/book/workspace/project/libjpeg-turbo-1.2.1/tmp/lib  -ljpeg
cp jpg2rgb /work/nfs_root/fs_mini_mdev_new
cp libjpeg-turbo-1.2.1/tmp/lib/*so* /work/nfs_root/fs_mini_mdev_new/lib/ -d


方法二:把库文件,头文件放在交叉编译里面库文件,头文件的路径下面。
把编译出来的头文件应该放入: /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include

cd  /home/book/workspace/project/libjpeg-turbo-1.2.1/tmp/include

cp  *   /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include

把编译出来的库文件应该放入:/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib

cd  /home/book/workspace/project/libjpeg-turbo-1.2.1/tmp/lib
cp *so*  -d   /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib

 cp *so* /work/nfs_root/      /* 把库文件复制到开发板lib目录下,我们用的是动态库所以需要拷贝 */


arm-linux-gcc -o jpg2rgb jpg2rgb.c -ljpeg      /* 要指定jpeg库,数学库则指定m */


 jpg2rgb.c文件如下:

#include <stdio.h>
#include "jpeglib.h"
#include <setjmp.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
#include <linux/fb.h>
#incl

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值