”树莓派“安装libjpeg库
来源:互联网 发布:薄暮知秋什么意思 编辑:程序博客网 时间:2024/05/18 13:26
之前我用framebuffer成功显示bmp图片,但是bmp图片未进行压缩,所以比jpeg,png这类格式的图片大,比如bmp图片一般按M来计算,压缩成JPEG后几十K,所以实际应用来说还是选择JPEG。JPEG是一种经过抽样、量化、编码等数字处理后的图片类型,最大程度的还原图像原本和最大程度的压缩,是一种很好的图像压缩技术。libjpeg库中的函数能够对JPEG图像进行解码等操作。
1.下载libjpeg库。
我用的是libjpeg-6b,下载地址如下:
http://freeware.sgi.com/source/libjpeg/libjpeg-6b.tar.gz
2.把压缩包放在linux某个目录下,我放在/home目录下。
解压缩:
sudo tar xzvf libjpeg-6b.tar.gz
解压之后进入目录:
cd libjpeg-6b/
3.在该目录下创建五个目录,否则编译时无法创建,特别是后面四个目录,均在第一个目录中创建。
mkdir jpeg-6b
cd jpeg-6b
mkdir bin
mkdir lib
mkdir include
mkdir -p man/man1
因为后面在make install中会在相应目录下生成各种文件,这样做为了后面方便观察,也能够清晰把它作为静态库使用。
4.咱们先把”工具“准备齐全了再编译安装,前面是容器,这里是安装杀手锏,这是make install的重要工具libtool,没有这个工作则不能够安装成功。
下载libtool.tar.gz,放在/home下。
解压:
tar xzvf libtool-2.4.2.tar.gz
配置:
cd libtool-2.4.2/
sudo ./configure --host=arm-linux CC=gcc
这是配置libtool,这里需要注意:configure 参数 不能同时用 ––host 和 –bulid 参数,会编译不能通过,这里配置文件指定了交叉编译器,主机等信息,可以添加安装目录--prefix等信息。注意编译器本应该是arm-linux-gcc,但是树莓派上的是arm-linux-gnueabihf-gcc,此处的gcc就是arm-linux-gnueabihf-gcc,只不过./configure不认识arm-linux-gnueabihf-gcc,树莓派把arm-linux-gnueabihf-gcc已经集成为gcc,此gcc非PC机上的gcc,一定区分开来。
sudo make
编译完成后生成两个可执行程序--”工具“:libtool、libtoolize。这里的libtool和libtoolize我们在生成动态库时需要的工具,所以需要拷贝到libjpeg库源码目录下:
sudo cp libtool libtoolize ../libjpeg-6b
5.配置libjpeg库:
可以直接./configure,按照默认的安装路径去安装,生成的库和头文件也是按照默认路径。
我自己定义了安装路径,可以清晰查看到底生成什么文件,如下:
sudo ./configure CC=gcc --prefix=/home/libjpeg-6b/jpeg-6b --enable-shared --enable-static
--prefix指定编译安装后生成的头文件和库存放的位置,就在jpeg-6b中创建了四个文件夹中,--enable-shared --enable-static分别指明生成动态库和静态库,生成库的时候就需要刚才libtool工具。
6.编译:
sudo make
7.安装:
sudo make install
安装完成后就能在jpeg-6b中生成的查看相应文件和库了。tree命令查看一下:
还没有完,一般嵌入式系统中编译生成可执行文件,不是静态链接生成的,因为静态链接库生成文件后文件会很大,所以一般采用动态链接,故需要把jpeg-6b/include中的头文件放入/usr/include中,jpeg-6b/lib中的库文件放入/usr/lib中,方便编程时调用。
sudo cp j*.h /usr/include
sudo cp lib* /usr/lib
8.最后可以在编程时使用库函数操作JPEG图片了,编译是需要加上-ljpeg。
- ”树莓派“安装libjpeg库
- 安装libjpeg库
- libjpeg 库的安装
- libjpeg 库的安装
- libjpeg 库的安装
- libjpeg 库的安装
- libjpeg 库的安装
- libjpeg 库的安装
- 安装libjpeg库
- Ubuntu 安装libjpeg-turbo库
- linux libjpeg库的安装方法
- 安装libjpeg库后提示libjpeg.so.8不存在(linux环境)
- 【安装】libjpeg for python
- libjpeg安装和使用
- libjpeg库的安装、移植、交叉编译环境、编解码。
- 安装libmad、libjpeg库时出现:libpng15.so.15 或 libjpeg : cannot open shared object file的解决方法
- libjpeg 的使用与安装
- libjpeg的安装与使用
- nginx: [alert] mmap(MAP_ANON|MAP_SHARED, 536870912) failed (12: Cannot allocate memory)解决方法
- 自实现json解析库
- POJ 3169 Layout (差分约束系统)
- android系统的分区结构
- 徜徉在宋词里的女子
- ”树莓派“安装libjpeg库
- PAT 1004 Counting Leaves
- 【android】编程规范、常用技巧和性能优化
- Java排序算法(一):概述
- 【C#基础】【语法02】课堂作业题 01-08
- HDU 3488 Tour(二分图最优匹配:有向环覆盖)
- Spring框架搭建
- Java排序算法(二):直接选择排序
- opencv常用函数(c++版本)