LOG4C移植到ARM平台流程

一、           LOG4C简介

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

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

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

二、           开发环境

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

移植Linux内核版本:2.6.30

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

三、           下载LOG4CEXPAT工具源代码

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。其中LOG4CEXPAT的压缩包都放在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所示:

   LOG4C移植到ARM平台流程_第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所示的错误:LOG4C移植到ARM平台流程_第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

你可能感兴趣的:(c,Build,工具,tools,平台,linux内核)