微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > LOG4C移植到ARM平台流程

LOG4C移植到ARM平台流程

时间:11-09 来源:互联网 点击:
一、LOG4C简介

现在流行的Log工具大体有:Log4c,Log4CPP, Log4CXX等。

Log4cxx需要依赖于APR。Log4cpp支持C++语言。由于项目主要是用C来编写,故而选用Log4c。

Log4c基本上都是一些纯c的东西,在平台移植方面,比前二者有优势。

二、开发环境

操作系统:Ubuntu 10.4(linux kernel-v2.6.31)

移植Linux内核版本:2.6.30

交叉编译工具:arm-linux-gcc 4.3.2

三、下载LOG4C及EXPAT工具源代码

LOG4C源代码的下载地址:

http://nchc.dl.sourceforge.net/project/log4c/log4c/1.2.1/log4c-1.2.1.tar.gz

EXPAT工具源代码的下载地址:

http://nchc.dl.sourceforge.net/project/expat/expat/2.0.1/expat-2.0.1.tar.gz

四、用arm-linux-gcc编译EXPAT

建两个目录:tools_source tool_build。其中LOG4C及EXPAT的压缩包都放在tools_source目录中。进入tools_build目录。在提示符下输入以下命令:

> mkdir expat_build

> tar –zxvf ../tools_source/expat-2.0.1.tar.gz

> cd expat_build

> ../expat-2.0.1/configure --prefix=/opt/tools/tools_build/expat_build/ --libdir=/opt/tools/tools_build/expat_build/ --enable-shared --host=arm-linux CC=/usr/local/arm/4.3.2/bin/arm-linux-gcc

> make install

在/opt/tools/tools_build/expat_build/下便会看到你所需要的.so库了,如图1所示:

图1

将expat_build/include目录下所有的.h文件拷贝到/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include/目录中。

将expat_build/目录下所有的.so文件拷贝到/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/lib目录中。

五、用arm-linux-gcc编译LOG4C

进入tools_build目录。在提示符下输入以下命令:

> mkdir log4c_build

> tar –zxvf ../tools_sournce/log4c-1.2.1.tar.gz

> cd log4c_build

> ../log4c-1.2.1/configure --prefix=/opt/tools/tools_build/log4c_build/ --libdir=/opt/tools/tools_build/log4c_build/ --enable-shared --with-gnu-ld --host=arm-linux CC=arm-linux-gcc CPPFLAGS=-I/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include/ LDFLAGS=-L/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/lib

> make install

如果提示图2所示的错误:

图2

修改log4c_build/log4c-1.2.1/src/config.h.in文件:

将201行的#undef malloc注释掉。

将204行的#undef realloc注释掉。

然后将tools_build/build目录下文件全部删除,重新执行以下命令:

> ../log4c-1.2.1/configure --prefix=/opt/tools/tools_build/log4c_build/ --libdir=/opt/tools/tools_build/log4c_build/ --enable-shared --with-gnu-ld --host=arm-linux CC=arm-linux-gcc CPPFLAGS=-I/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include/ LDFLAGS=-L/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/lib

> make install

在build目录下,你将看LOG4C的.so库文件已经生成了,如图3所示:

图3

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top