移植libjpeg-turbo库到mips32架构跑openwrt系统的开发板上
来源:互联网 发布:免费电子相册制作软件 编辑:程序博客网 时间:2024/05/01 08:18
概述:之前博客中。我们在ubuntu14.04中安装了libjpeg-turbo库,现在我们把库移植到我们的核心为mips架构的开发板上,也算是一个笔记,这样也便于后期翻看。开发板是跑openwrt系统的,下面内容都是基于交叉编译环境等都搭建好的情况下进行的移植。其实移植道理都是一样的,所以如果是不同的开发板,也可参考。
1,github下载源码
$ git clone https://github.com/libjpeg-turbo/libjpeg-turbo.git
2,创建好编译安装的libjpeg-turbo库文件安装位置。(我这里就安装在我的用户目录下的Mips/opt/libjoeg-turbo文件夹下)
$ cd ~$ mkdir Mips && cd Mips$ mkdir opt && cd opt$ mkdir libjpeg-turbo
3,编译安装库
第一步,进入下载下来的源码目录,执行autoreconf -fiv命令
$ cd libjpeg-turbo$ autoreconf -fiv
第二步执行源码中configure脚本。
./configure --prefix=/home/sky/Mips/opt/libjpeg-turbo CC=mipsel-openwrt-linux-gcc --host=mipsel-openwrt-linux-gnu --mandir=/home/sky/Mips/opt/libjpeg-turbo/share/man --with-jpeg8 --disable-static --docdir=/home/sky/Mips/opt/libjpeg-turbo/share/doc/libjpeg-turbo-1.5.2 --with-simd
解释一下各项参数意思:
–prefix=/home/sky/Mips/opt/libjpeg-turbo
指定库安装路径,这里就指定到我们刚才创建的文件夹路径。
CC=mipsel-openwrt-linux-gcc
指定编译工具为我们的开发板的交叉编译工具mipsel-openwrt-linux-gcc。
–host=mipsel-openwrt-linux-gnu
指定我们的库要运行的平台。
–mandir=/home/sky/Mips/opt/libjpeg-turbo/share/man
指定man文件(相关命令参考信息)安装路径 。
–with-jpeg8
这个开关启用与libjpeg 版本8的兼容。
–disable-static
阻止安装静态版本的库 。
–docdir=/home/sky/Mips/opt/libjpeg-turbo/share/doc/libjpeg-turbo-1.5.2
指定文档安装路径。
–with-simd
开启SIMD扩展。
第三步,编译安装。
$ make$ sudo make install
第四步,查看Mips/opt/libjpeg-turbo文件夹下内容。
我就偷个懒,直接贴图了。
4,移植到开发板
将生成的lib库中的libjpeg.so.8和libturbojpeg.so.0文件复制到开发板中/usr/lib库即可,这样就完成了库的移植。
5,测试
我之前的博客中已经有图片解压及压缩的实现了。那么我们之前用之前的源码即可,唯一改变的就是我们库链接时要用我们交叉编译生成的库,编译程序时也要用交叉编译工具。简单起见,我们只需写一个CMakeLists.txt就行了,用cmake编译。编译完,把可执行程序复制到开发板,运行成功即表示移植成功啦。
CMakeLists.txt内容如下:
cmake_minimum_required(VERSION 2.8)SET(CMAKE_C_COMPILER mipsel-openwrt-linux-gcc)project(SkyJpeg)add_definitions("-O2")include_directories(/home/sky/Mips/opt/libjpeg-turbo/include)link_directories(/home/sky/Mips/opt/libjpeg-turbo/lib)add_executable(SkyJpeg jpgtest.c)target_link_libraries(SkyJpeg jpeg)target_link_libraries(SkyJpeg turbojpeg)
6,参考
如果对configure中的一些参数不太理解,可以看下这篇博客:
configure 时的host build target问题
哈哈,移植的内容就这么多啦,Peace&Love!
- 移植libjpeg-turbo库到mips32架构跑openwrt系统的开发板上
- 移植libjpeg-turbo到arm遇到的问题
- linux下交叉编译libjpeg库并移植到开发板上
- 如何把libjpeg库移植到mini2440arm板上。
- Windows上编译libjpeg-turbo
- 使用libjpeg-turbo库中兼容的libjpeg库解压一张jpg并缩放压缩保存到文件
- libjpeg与turbo libjpeg的使用
- libjpeg-turbo的neon功能
- Ubuntu 安装libjpeg-turbo库
- 海蜘蛛架构在openwrt上移植
- libjpeg移植到arm
- libjpeg移植到arm
- 移植uboot到ARMer9开发系统上
- 移植uboot到ARMer9开发系统上
- OpenWRT移植到三星S5PV210处理器上
- OpenWRT移植到三星S5PV210处理器上
- OpenWRT移植到三星S5PV210处理器上
- openwrt libubox 移植到ARM上
- 工控机CF卡槽无法使用的解决方案
- ssm框架的整合
- Netty学习笔记
- HDFS原理篇
- RabbitMQ的几种典型使用场景
- 移植libjpeg-turbo库到mips32架构跑openwrt系统的开发板上
- EditText 光标颜色
- [leetcode]#169. Majority Element
- JVM(四)JVM内存划分
- itext导出报表防止内存溢出
- Ceph 入门——内部构件
- base64初探
- C++学习笔记--字符串类
- Spring使用BeanName视图产生Excel视图