<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > LOG4C移植到ARM平臺(tái)流程

          LOG4C移植到ARM平臺(tái)流程

          作者: 時(shí)間:2016-11-09 來(lái)源:網(wǎng)絡(luò) 收藏
          一、LOG4C簡(jiǎn)介

          現(xiàn)在流行的Log工具大體有:Log4c,Log4CPP, Log4CXX等。

          本文引用地址:http://www.ex-cimer.com/article/201611/317665.htm

          Log4cxx需要依賴(lài)于A(yíng)PR。Log4cpp支持C++語(yǔ)言。由于項(xiàng)目主要是用C來(lái)編寫(xiě),故而選用Log4c。

          Log4c基本上都是一些純c的東西,在平臺(tái)移植方面,比前二者有優(yōu)勢(shì)。

          二、開(kāi)發(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庫(kù)了,如圖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庫(kù)文件已經(jīng)生成了,如圖3所示:

          圖3



          關(guān)鍵詞: LOG4C移植ARM平

          評(píng)論


          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();