设为首页 加入收藏

TOP

交叉编译场景(arm-linux)分析(三)
2014-11-24 12:00:22 来源: 作者: 【 】 浏览:6
Tags:交叉 编译 场景 arm-linux )分析
@cd $(TSLIB_DIR) && \


if [ -e Makefile ]; then make distclean; fi && \


echo "clean done"


[三。编译zlib]:


1. 基本信息:


软件名称


zlib


功能简述


zlib 一个压缩解压程序库


下载地址


http://www.zlib.net/


软件版本


zlib-1.2.3.tar.gz


依赖关系


默认


前置条件


源文件位置:$(WORK_DIR)/zlib



2. 过程分析


下载的稳定版本,configure已经存在,直接进行配置:


[root@linux zlib-1.2.3]# ./configure --host=$ARCH-linux --prefix=$ROOTFS_DIR/usr


出现了如下错误:


usage:


configure [--shared] [--prefix=PREFIX] [--exec_prefix=EXPREFIX]


[--libdir=LIBDIR] [--includedir=INCLUDEDIR]


看来此configure非彼configure也,打开一看,果然不是autoconf系列的,又是一个貌合神离的东东。OK,按它的用法说明做吧,但问题是如何指定交叉编译器呢,按照惯例,设置环境变量CC试试看:


[root@linux zlib-1.2.3]# export CC=$ARCH-linux-gcc


[root@linux zlib-1.2.3]# ./configure -shared --prefix=$ROOTFS_DIR/usr


OK,配置成功,编译:


[root@linux zlib-1.2.3]# make && make install


OK,编译成功。


3.构建处方


zlib.mk



ZLIB_DIR="zlib-1.2.3"


all: clean config build


config:


@cd $(ZLIB_DIR) && \


export CC=$$ARCH-linux-gcc && \


./configure --prefix=$$ROOTFS_DIR/usr/local --shared && \


echo "config done"


build:


@cd $(ZLIB_DIR) && \


make && make install && \


echo "build done"


clean:


@cd $(ZLIB_DIR) && \


if [ -e Makefile ]; then make distclean; fi && \


echo "clean done"


[编译readline和ncurses]


1. 基本信息:


软件名称


readline


功能简述


readline一个命令行编辑程序库


下载地址


http://directory.fsf.org/readline.html


软件版本


readline-5.1.tar.gz


依赖关系


默认


前置条件


源文件位置:$(WORK_DIR)/ readline-5.1



2. 过程分析


下载的稳定版本,configure已经存在,直接进行配置:


[root@linux readline-5.1]# ./configure --host=$ARCH-linux --prefix=$ROOTFS_DIR/usr


OK,配置成功,编译:


[root@linux readline-5.1]# make && make install


OK,编译成功。少有的顺利!


3. 构建处方


readline.mk



READLINE_DIR="readline-5.1"



all: clean config build



config:


@cd $(READLINE_DIR) && \


./configure --prefix=$$ROOTFS_DIR/usr --host=$$ARCH-linux && \


echo "config done"



build:


@cd $(READLINE_DIR) && \


make && make install && \


echo "build done"



clean:


@cd $(READLINE_DIR) && \


if [ -e Makefile ]; then make distclean; fi && \


echo "clean done"



1. 基本信息:


软件名称


ncurses


功能简述


ncurses一个文本界面的图形程序库


下载地址


http://directory.fsf.org/ncurses.html


软件版本


ncurses-5.5.tar.gz


依赖关系


默认


前置条件


源文件位置:$(WORK_DIR)/ ncurses-5.5



2. 过程分析


下载的稳定版本,configure已经存在,直接进行配置:


[root@linux ncurses-5.5]# ./configure --host=$ARCH-linux --prefix=$ROOTFS_DIR/usr



OK,配置成功,编译:


[root@linux ncurses-5.5]# make && make install



OK,编译成功。少有的顺利!



3. 构建处方


ncurses.mk


NCURSES_DIR="ncurses-5.5"



all: clean config build



config:


@cd $(NCURSES_DIR) && \


./configure --prefix=$$ROOTFS_DIR/usr --host=$$ARCH-linux && \


echo "config done"



build:


@cd $(NCURSES_DIR) && \


make && make install && \


echo "build done"



clean:


@cd $(NCURSES_DIR) && \


if [ -e Makefile ]; then make distclean; fi && \


echo "clean done"








[编译libjpeg和libpng]


1. 基本信息:


软件名称


libjpeg


功能简述


libjpeg一个jpeg图形编码解码程序库


下载地址


http://www.photopost.com/jpegsrc.v6b.tar.gz


软件版本


jpegsrc.v6b.tar.gz


依赖关系


默认


前置条件


源文件位置:$(WORK_DIR)/ jpeg-6b



2. 过程分析


下载的稳定版本,configure已经存在,直接进行配置:


[root@linux jpeg-6b]# ./configure --host=$ARCH-linux --prefix=$ROOTFS_DIR/usr



OK,配置成功,编译:


[root@linux jpeg-6b]# make && make install



哦,不对,怎么还是用gcc编译的,而不是用arm-linux-gcc编译的呢?看来--host没有生效,还是试试老方法-设置CC环境变量吧:


[root@linux jpeg-6b]# export CC=arm-linux-gcc


[root@linux jpeg-6b]# ./configure --host=$ARCH-linux --prefix=$ROOTFS_DIR/usr



OK,配置成功,编译:


[root@linux jpeg-6b]# make && make install



OK,

首页 上一页 1 2 3 4 5 6 7 下一页 尾页 3/7/7
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇POSIX线程的私有数据 下一篇POSIX线程的创建和取消

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·在 Redis 中如何查看 (2025-12-26 03:19:03)
·Redis在实际应用中, (2025-12-26 03:19:01)
·Redis配置中`require (2025-12-26 03:18:58)
·Asus Armoury Crate (2025-12-26 02:52:33)
·WindowsFX (LinuxFX) (2025-12-26 02:52:30)