- 以 root 用户安装 log4cpp,采用版本是
log4cpp-0.3.5rc3.tar.gz
- 解包文件
cd /usr/local tar zxvf log4cpp-0.3.5rc3.tar.gz
- 进入源码目录,并运行配置命令,增加 pthread 支持
cd log4cpp-0.3.5rc3 ./configure --with-pthreads
- 配置完成后,需要修改2个地方(这是源码的 bug)
第一处:代码中多了一个分号
vi include/log4cpp/Manipulator.hh
删除29行最后的分号
第二处:打印线程号,线程id 是无符号长整型
vi src/PThreads.cpp
将
::sprintf(buffer, "%ld", pthread_self());
改为
::sprintf(buffer, "%lu", pthread_self());
- 现在可以开始编译和安装
./configure
make make install
- 安装完成后,include 文件 和 lib 文件分别被安装到以下目录
/usr/local/include /usr/local/lib
- 因此在编写代码时,可以这样包括 log4cpp 的头文件,例如
#include <log4cpp/Category.hh>
- 最后是环境变量处理,需要在 LD_LIBRARY_PATH 中增加 log4cpp 库文件目录
vi /etc/profile.d/log4cpp.sh
内容为
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib export LD_LIBRARY_PATH
保存好文件后,增加文件的可执行权限
chmod a+x /etc/profile.d/log4cpp.sh