Linux下编译安装log4cxx

一个项目的服务器端在Linux平台下,用到了开源日志库log4cxx,这个库是apache项目的一个子库。功能很不错。下面记录下它的编译和安装过程。

log4cxx的官方下载地址是http://logging.apache.org/log4cxx/index.html ,我用的是0.10.0版本。

为了编译它,还需要两个辅助库,apr,和apr-util,可以在这里下载http://apr.apache.org/download.cgi ,我用的版本分别是apr-1.3.8.tar.gz 和apr-util-1.3.9.tar.gz 。

第一步安装apr-1.3.8,顺序不能错,它必须首选安装

$tar zxvf apr-1.3.8.tar.gz

$cd apr-1.3.8

$./configure --prefix=/usr/local

$make

$su root

$make install

然后安装apr-util-1.3.9

$tar zxvf apr-util-1.3.9.tar.gz

$cd apr-util-1.3.9

$./configure --prefix=/usr/local --with-apr=/usr/local/apr

$make

$su root

$make install

configure选项 --with-apr=/usr/local/apr指定apr库的位置

最后就可以安装log4cxx了

$tar zxvf apache-log4cxx-0.10.0.tar.gz

$cd apache-log4cxx-0.10.0

$configure --prefix==/usr/local

$make

$su root

$make install

因为编译成的是共享库,最后还要设置下搜索目录,编辑~/.bashrc,添加下面两行

LD_LIBRARY_PATH=/usr/local/lib

export LD_LIBRARY_PATH

OK,至此log4cxx就安装完毕了。

最后写个程序,测试下。

#include <log4cxx/logger.h>
#include <log4cxx/logstring.h>
#include <log4cxx/propertyconfigurator.h>

int main(int argc, char* argv[])
{
    using namespace log4cxx;

// 读取配置文件
   
PropertyConfigurator::configure("log4cxx.cfg");

// 建立两个logger
    LoggerPtr logger1 =
Logger::getLogger("TraceYourMama");
    LoggerPtr logger2 =
Logger::getLogger("Patch");

LOG4CXX_TRACE(logger1, "跟踪");
    LOG4CXX_WARN(logger1, "警告");
    LOG4CXX_DEBUG(logger1, "调试");
    LOG4CXX_ASSERT(logger1, false, "断言");
    LOG4CXX_FATAL(logger1, "致命");

LOG4CXX_TRACE(logger2, "跟踪");
    LOG4CXX_ERROR(logger2, "错误");
    return 0;
}

编译链接

$g++ -o main main.cpp -llog4cxx

OK,打完手工。

最后安装log4cxx的时候会有错误,缺少头文件,根据错误的文件添加即可

(转)Linux下编译安装log4cxx的更多相关文章

  1. LINUX下编译安装PHP各种报错大集合

    本文为大家整理汇总了一些linux下编译安装php各种报错大集合 ,感兴趣的同学参考下. nginx1.6.2-mysql5.5.32二进制,php安装报错解决: 123456 [root@clien ...

  2. linux下编译安装vim7.4并安装clang_complete插件

    linux下编译安装vim7.4并安装clang_complete插件 因为debian里软件仓库中下载安装的vim是不支持python写的插件的(可以打开vim,在命令模式先输入:py测试一下),导 ...

  3. linux下编译安装curl

    linux下编译安装curl 1.下载curl git clone https://github.com/curl/curl.git 2.在curl目录下生成configure文件 ./buldcon ...

  4. linux下编译安装boost库

    linux下编译安装boost库 linux下编译安装boost库 1.下载并解压boost 1.58 源代码 下载 解压 2.运行bootstrap.sh 3.使用b2进行构建 构建成功的提示 4. ...

  5. Linux下编译安装Apache Http Server

    Linux下编译安装Apache Http Server [TOC] 1.下载httpd-2.4.12.tar.bz2 wget http://mirror.bit.edu.cn/apache/htt ...

  6. Linux下编译安装qemu和libvirt

    目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 2 安装libvirt 2.1 libvirt介绍 2.2 下载libvirt 2.3 编译安装 3  ...

  7. linux下编译安装nginx

    1.首先下载稳定版nginx1.10.2 使用wget命令下载 wget http://nginx.org/download/nginx-1.10.2.tar.gz 2.然后解压 tar -zxvf  ...

  8. Linux下编译安装qemu和libvirt【转】

    转自:http://www.cnblogs.com/findumars/p/5679742.html 目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 ...

  9. linux安装软件的几种方法----linux下编译安装软件的一般步骤

    linux安装软件的几种方法: 一.rpm包安装方式步骤: 1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root用户: 3.cd so ...

随机推荐

  1. wamp 环境的配置

    安装完wamp之后,基本不用配置什么环境,只要将mysql添加到你的环境变量中去即可.

  2. 问题 G: 圆桌上的晚餐

    问题 G: 圆桌上的晚餐 时间限制: 1 Sec  内存限制: 128 MB提交: 1583  解决: 656[提交] [状态] [命题人:jsu_admin] 题目描述         大家一定在圆 ...

  3. 机器学习ROC图解读

    1. 分类器评估指标 对于二分类问题,可将样例根据其真实类别和分类器预测类别划分为:真正例(True Positive,TP):真实类别为正例,预测类别为正例.假正例(False Positive,F ...

  4. mui实现分页上拉加载更多 下拉刷新数据的简单实现 移动端下拉上拉

    空下来把mui上拉加载更多,下拉刷新数据做了一个简单的实现,希望可以帮助到需要的朋友 demo项目的结构 <!DOCTYPE html> <html> <head> ...

  5. python中的垃圾回收机制及原理

    序言: 来一起看看: 不同于C/C++,像Python这样的语言是不需要程序员写代码来管理内存的,它的GC(Garbage Collection)机制 实现了自动内存管理.GC做的事情就是解放程序员的 ...

  6. CCF CSP/CCSP报名费优惠的方法以及常见疑问

    目录 1. 本文地址 2. 认证作用 2.1. 高校认可 2.2. 赛事认可 2.3. 企业认可 3. 报名费价格及获取优惠的方法 3.1. CCF CSP 3.2. CCF CCSP 4. 语言与I ...

  7. SVG 学学就会了。

    SVG 随便学学就会了 这两天闲来没事把 Echart 换成 Rechart 感觉世界都清爽了.因为 rechart 使用 svg 来渲染,所以顺带学了下 SVG 感觉很轻松哦. 概念 SVG 是 w ...

  8. Java REST Client API

    https://www.elastic.co/guide/en/elasticsearch/client/java-rest/7.3/java-rest-high-supported-apis.htm ...

  9. NtQuerySystemInformation

    #include "stdafx.h" #include <Windows.h> #include <winternl.h> using namespace ...

  10. home home clock

    博客园添加home home clock 将下面代码复制进博客侧边栏广告即可 <div id="myTime"> <object classid="cl ...