一些库在各个项目经常重用.如jpeg,freetype,iconv 等.每次大型项目均会反复重用.因此按照原来项目规范,一般都放在项目libs目录下,但后来发现,每个项目都做重复操作.也完全没有必要.因为现在是将其归纲到一个comm_lib公用信息.
以下是常用库的ARM-Linux移植,我是放在/home/hxy/common_lib 目录下.按到移植规范,输出在 output/arm-linux下,库本身在 libs 下面.
以下是常见库的移植.在这里留作教学和备份用.
通用类
1.zlib库移植
下载
解压 tar xvzf zlib-1.2.3.tar.gz
cd zlib-1.2.3
生成Makefile(注意zlib只能静态,动态分开编译,因此要生成两次Makefile和两次编译和安装)
生成静态库 CC=arm-linux-gcc CPP="arm-linux-gcc -E" AR="arm-linux-ar rc" RANLIB=arm-linux-ranlib ./configure --prefix=$PWD/../../output/arm-linux
生成动态库 CC=arm-linux-gcc CPP="arm-linux-gcc -E" AR="arm-linux-ar rc" RANLIB=arm-linux-ranlib ./configure --shared --prefix=$PWD/../../output/arm-linux
编译 make
安装 make install
图像类
1.jpeg库,用于jpeg图像处理
ftp://ftp.nz.debian.org/gentoo/distfiles/jpegsrc.v6b.tar.gz
解压 tar xvzf jpegsrc.v6b.tar.gz
cd jpeg-6b
生成Makefile
./configure --enable-shared --enable-static --host=arm-linux --prefix=$PWD/../../output/arm-linux
编译 make
安装 make install
注意这个库的安装程序有BUG,不会自动创建发布的lib,include,man等,因此要手工创建,要不先把其它库做好,再安装这个库
mkdir -p /home/hxy/common_lib/output/arm-linux/include
mkdir -p /home/hxy/common_lib/output/arm-linux/lib
mkdir -p /home/hxy/common_lib/output/arm-linux/man/man1
2.png 用于PNG图像显示
下载http://prdownloads.sourceforge.net/libpng/libpng-1.4.1.tar.gz?download
解压 tar xvjf libpng-1.2.19.tar.bz2
cd libpng-1.2.19
生成Makefile
./configure --host=arm-linux --enable-shared --enable-static --prefix=$PWD/../../output/arm-linux
编译 make
安装 make install
3.tiff库 ,(tiff格式显示)
官网 http://www.libtiff.org
下载 http://dl.maptools.org/dl/libtiff/tiff-3.8.2.tar.gz
解压 tar xvzf tiff-3.8.2.tar.gz
cd tiff-3.8.2
生成makefile
./configure --host=arm-linux --enable-shared --enable-static --enable-jpeg --enable-zlib --prefix=$PWD/../../output/arm-linux
编译 make
安装 make install
音频类
2.mad
官网 http://www.underbit.com/products/mad/
解压 tar xvzf libmad-0.15.1b.tar.gz
cd libmad-0.15.1b
生成Makefile(标准)
./configure --host=arm-linux --enable-shared --enable-static --prefix=$PWD/../../output/arm-linux
去掉Makefile中-fforce-mem
因为arm-linux-gcc不认识这个选项,编译提示 error: unrecognized command line option "-fforce-mem"
编译make
安装 make install
3.id3tag:读取mp3信息
官网 http://www.underbit.com/products/mad/
解压 tar xvzf libid3tag-0.15.1b.tar.gz
cd libid3tag-0.15.1b
生成Makefile(标准)
./configure --host=arm-linux --enable-shared --enable-static --prefix=$PWD/../../output/arm-linux
编译 make
安装 make install
4.ogg 一种音频解码格式
解压 tar xvzf libogg-1.1.4.tar.gz
cd libogg-1.1.4
生成Makefile (标准)
./configure --host=arm-linux --enable-shared --enable-static --prefix=$PWD/../../output/arm-linux
编译make
安装 make install
文字编码类
1.iconv库 用于文字编码转换
主页 :http://www.gnu.org/software/libiconv
下载:http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
解压 tar xvzf libiconv-1.13.1.tar.gz
cd libiconv-1.13.1
生成Makefile (标准)
./configure --host=arm-linux --enable-shared --enable-static --prefix=$PWD/../../output/arm-linux
编译make
安装 make install
2. freetype:开源高质理字体显示函数库
主页:http://www.freetype.org/
下载:http://ftp.twaren.net/Unix/NonGNU/freetype/freetype-2.3.11.tar.gz
解压 tar xvzf freetype-2.3.11.tar.gz
cd freetype-2.3.11
生成Makefile (标准)
./configure --host=arm-linux --enable-shared --enable-static --prefix=$PWD/../../output/arm-linux
编译make
安装 make install
3.
引致:http://blog.chinaunix.net/u3/105675/showart_2195157.html
分享到:
相关推荐
ARM-LINUX下一些常用库的移植.pdf
2.2 Linux下工作用户及环境....................................................................................................9 2.2.1 交叉工具的安装......................................................
本文首先详细分析了ARM体系结构,研究了嵌入式Linux操作系统在ARM9微处理器的移植技术,包括交叉编译环境的建立、引导装载程序应用、移植嵌入式Linux内核及建立根文件系统,并且实现了嵌入式Linux到S3C2410开发板的...
curl库的主要功能是用不同的协议连接不同的服务器,也就是相当封装了的socket的协议库, libcurl当前支持http, https, ftp, gopher, ...内容描述移植到嵌入式ARM的完整步骤,以及使用libcurl库开发应用的示例代码。
基于ARM9嵌入式开发板LINUX环境下的程序代码-linuxprocess,是大家常用的程序,代码中有详细的注释,方便移植.zip
针对s3c2440a,通过实例精讲,介绍了arm9嵌入式常用模块的原理和驱动程序实现方法,广嵌教育出品 实验1 ARM 汇编指令编程实验1 实验2 C 和ARM 汇编混合编程实验8 实验3 C 语言实现LED 控制实验15 实验4 外部中断...
平台,详细介绍有关ARM 体系架构,其中包括常用的串口、IIC 总线、CAN 总线、SPI 总线、EEPROM 、时钟、 D/A 及A/D 转换等内容。并在此基础上,详细介绍I/O 接口中常用的液晶屏和触摸屏的使用方法、用户驱 动程序...
特性: 多窗口支持| 完全中文输入/显示| 多数常用GUI控件| 99.9% ANSI C 编写| 已成功移植 DOS,Linux,uc/OS-II| 组件式 API(易用,高效) 目前可以使用的控件有: MainWindow 主窗口 DialogWindow 对话窗口 Button ...
1. Linux常用命令 2. vi编辑器 3. gcc编译器 4. make工具使用,makefile编写 5. shell编程 Linux系统编程专题 第七讲 建立交叉编译环境 1. 编译原理,gcc的使用 2. 交叉编译原理 3. 交叉编译工具安装使用 4. 交叉...
该源代码提供了如何利用QT开发出基于arm-linux平台的跨平台音乐播放功能,该程序实现了音乐播放的常用功能,并设计了精美的操作界面。
ARM Linux 的移植过程及分析.rar ARM 指令集.rar ARM内核结构简介.rar ARM内核介绍.rar arm入门笔记.rar arm完整入门资料.rar AT91SAM7S64调试笔记.rar 嵌入式系统设计与开发实例详解随书光盘源程序.rar
本实验指导手册针对目前国内非常流行的三星公司 ARM9 嵌入式微处理器――S3C2440...第四篇为嵌入式linux开发实例篇,通过4个linux应用开发实例,使大家对嵌入式linux在ARM微处理器上的移植及驱动程序设计有很好的掌握。
2.2 Linux下工作用户及环境....................................................................................................9 2.2.1 交叉工具的安装........................................................
2.1.3 Linux 与ARM处理器........................................................................................ 12 2.2 ARM指令集...........................................................................
该源代码提供了如何利用QT开发基于ARM-LINUX的图片浏览程序,该程序实现了图片浏览的常用功能,并可在多种平台上成功移植。
·Linux内核常用的一些宏的收集 ·嵌入式Linux之我行——按键驱动在2440上的实例开发(带去抖动) ·嵌入式Linux之我行——ARM MMU工作原理剖析 ·嵌入式Linux之我行——设备文件系统剖析与使用 ·嵌入式Linux之我行...
2.3 Linux多线程库编程21 2.3.1 多线程21 2.3.2 Linux下的多线程21 2.3.3 生产者-消费者模型简述22 2.3.4 缓冲区操作概述22 2.3.5 几个线程API23 实验2.3 Linux多线程使用实例——生产者-消费者协议24 ...
目录第1章 Linux快速入门 1.1 嵌入式Linux基础 1.2 Linux安装 1.3 Linux文件及文件系统 1.4 实验内容——安装Linux操作系统 本章小结 思考与练习 第2章 Linux基础命令 2.1 Linux常用操作命令 2.2 ...
价值千元的Linux原始收费课程,主要内容包括: 第一部分:QT理论基础 1. QT开发环境搭建(QT简介、Linux在VMWare下的安装、QT在Linux下的安装、Qtcreator工具安装及使用,共...13. 媒体播放器项目到ARM/Linux平台的移植