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. Codeforces 984D 题解(DP)

    题面 传送门 题目大意: 给你一个计算区间f函数的公式,举例f(1,2,4,8)=f(1⊕2,2⊕4,4⊕8)=f(3,6,12)=f(3⊕6,6⊕12)=f(5,10)=f(5⊕10)=f(15)= ...

  2. HDU 6603 Azshara's deep sea(凸包+区间DP)

    由于题目要求,首先维护出一个凸包,然后在凸包上寻找点对关系,用rel[i][j]表示i点和j点之间是否可以连线,又由于维护出来的凸包上的点的个数不多,可以直接枚举点对并枚举所有圆,判断两点直线和圆是否 ...

  3. 百度文档,用Python一键免费下载

    百度文库下载需要券,或者vip才能下载 Vip价格高,偶尔下载一次不划算. 不下载复制?不好意思复制也需要vip否则只能一次复制两行. 如何才能以最低成本获取到百度文库里的文档内容呢? 当然是用Pyt ...

  4. C# <T>泛型的使用

    在定义泛型类时,可以对客户端代码能够在实例化类时用于类型参数的类型种类施加限制.如果客户端代码尝试使用某个约束所不允许的类型来实例化类,则会产生编译时错误.这些限制称为约束.约束是使用 where 上 ...

  5. C++ 数组动态分配

    数组的动态内存分配 #include <iostream> //一维数组 void oneDimensionalArray() { //定义一个长度为10的数组 int* array = ...

  6. JVM内存模型及参数调优

    堆.栈.方法区概念区别 1.堆 堆内存用于存放由new创建的对象和数组.在堆中分配的内存,由java虚拟机自动垃圾回收器来管理.根据垃圾回收机制的不同, Java堆有可能拥有不同的结构,最为常见的就是 ...

  7. Groovy基本语法

    官方文档 注释(Comments) 和Java一样,支持单行(使用//).多行(/* */)和文档注释(使用/** */). Shebang line UNIX系统支持一种特殊的单行注释叫作Sheba ...

  8. Solr的学习使用之(七)Solr高级查询facet、facet.pivot简介

    以下转载自:http://hongweiyi.com/2013/03/apache-solr-facet-introduction/ 1.什么是Faceted Search Facet['fæsɪt] ...

  9. 未能加载文件或程序集“WebApi”或它的某一个依赖项。试图加载格式不正确的程序。

    将项目的平台目标改为“Any CPU” 在项目上右击选择属性——>生成——>平台目标  选择Any CPU

  10. Python PostgreSQL Psycopg2

    [转] http://daigong.iteye.com/blog/901160 Python如果要操作Postgresql,需要一个API,这就需要Psycopg2 1. 链接PostgreSQL并 ...