LOG4C移植到ARM平臺(tái)流程
現(xiàn)在流行的Log工具大體有:Log4c,Log4CPP, Log4CXX等。
本文引用地址:http://m.butianyuan.cn/article/201611/317665.htmLog4cxx需要依賴于APR。Log4cpp支持C++語言。由于項(xiàng)目主要是用C來編寫,故而選用Log4c。
Log4c基本上都是一些純c的東西,在平臺(tái)移植方面,比前二者有優(yōu)勢(shì)。
二、開發(fā)環(huán)境
操作系統(tǒng):Ubuntu 10.4(linux kernel-v2.6.31)
移植Linux內(nèi)核版本: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
建兩個(gè)目錄:tools_source tool_build。其中LOG4C及EXPAT的壓縮包都放在tools_source目錄中。進(jìn)入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/下便會(huì)看到你所需要的.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
進(jìn)入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所示的錯(cuò)誤:
圖2
修改log4c_build/log4c-1.2.1/src/config.h.in文件:
將201行的#undef malloc注釋掉。
將204行的#undef realloc注釋掉。
然后將tools_build/build目錄下文件全部刪除,重新執(zhí)行以下命令:
> ../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庫文件已經(jīng)生成了,如圖3所示:
圖3
評(píng)論