log4cxx编译过程–linux
前面有一篇Windows下的log4cxx編譯, 這里記錄下在linux上的編譯過程.
環(huán)境:CentOS6.3 gcc-4.4.6
-> view os version: lsb_release -a
?????? lsb_release prints certain LSB (Linux Standard Base) and Distribution
information
#lsb_release -a
LSB Version:??? :core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:graphics-
4.0-noarch:printing-4.0-ia32:printing-4.0-noarch
Distributor ID: CentOS
Description:??? CentOS release 6.3 (Final)
Release:??????? 6.3
Codename:?????? Final
-> view kerenl and gcc version: -cat /proc/version
# cat /proc/version
Linux version 2.6.32-279.el6.i686 (mockbuild@c6b9.bsys.dev.centos.org) (gcc
version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC) ) #1 SMP Fri Jun 22 10:59:55
UTC 2012
log4cxx版本:
apache-log4cxx-0.10.0
log4cxx是在apache portable runtime library: apr-1.4.6? apr-util-1.5.2
第一步: 編譯apr
tar -xcf apr-1.4.6.tar.gz -C /usr/local/apr/
cd /usr/local/apr/apr-1.4.6
./configure --prefix=/usr/local/apr
make
make install
///
./configure --help 可以看幫助. --prefix=/usr/local/apr是配置安裝目錄, apr最終安
裝在/usr/local/apr下.
make - 編譯apr
make install - 安裝, 就是將include, lib, bin文件拷貝到/usr/local/apr下, 并建立相
應(yīng)的目錄結(jié)構(gòu).
第二步: 編譯apr-util
apr-util需要以來apr, 所以需先編譯apr
tar -xcf apr-util-1.5.2.tar.gz -C /usr/local/apr-util/
cd /usr/local/apr-util/apr-util-1.5.2
./configure --prefix=/usr/local/apr-util/ --with-apr=/usr/local/apr/
make
make install
--with-apr - 此option指明apr的路徑
第三步: 編譯log4cxx
解壓->到解壓后的目錄
./configure --prefix=/usr/local/log4cxx/ --with-apr=/usr/local/apr/ --with-
apr-util=/usr/local/apr-util/
make
make過程中, 會(huì)遇到錯(cuò)誤發(fā)生
第一個(gè)錯(cuò)誤:
inputstreamreader.cpp:66: error: 'memmove' was not declared in this scope
memmove沒有申明, 查linux編程文檔, memmove在string.h中申明.
./src/main/cpp/inputstreamreader.cpp -> 增加 #include <string.h>
./src/main/cpp/socketoutputstream.cpp -> 增加 #include <string.h>
./src/examples/cpp/console.cpp -> 增加 #include <stdio.h> #include <string.h>
///
make
make install
最后配置/etc/ld.so.conf - 需要root權(quán)限
增加:
/usr/local/apr/lib
/usr/local/apr-util/lib
/usr/local/log4cxx/lib
若沒有root權(quán)限, 只有通過LD_LIBRARY_PATH來配置lib path
vi $HOME/.bash_profile
增加
export LD_LIBRARY_PATH=/usr/local/apr/lib:/usr/local/apr-util/lib:/usr/local/log4cxx/lib:.:$LD_LIBRARY_PATH
source .bash_profile -->生效
echo $LD_LIBRARY_PATH可以查看.
---> OK.
如何使用, 我沒用, 聽說log4cxx有內(nèi)存泄露, 我用了自己寫的log代碼, 網(wǎng)上有很多簡(jiǎn)單的用法介紹. 因?yàn)閯e人編寫的模塊中使用了這個(gè)庫, 所以這里環(huán)境必須配齊.
轉(zhuǎn)載于:https://www.cnblogs.com/crunchyou/archive/2013/04/27/3046504.html
總結(jié)
以上是生活随笔為你收集整理的log4cxx编译过程–linux的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 例5-17和例5-18
- 下一篇: JS replace 回调