VS2010编译log4cpp日志库

VS2010编译log4cpp日志库

log4cpp是一种可灵活记录日志到文件、系统日志、IDSA和其他目的地的C++类库。

编译log4cpp

  1. log4cpp下载。下载地址:here
  2. 解压。
  3. 使用VS2010打开解压目录\log4cpp\msvc10\msvc10.sln。
  4. 在项目(log4cppLIB)上右键生成,等待生成完成。
  5. 这时在解压目录\log4cpp\msvc10\log4cppLIB\Debug下生成了log4cppD.lib文件。
  6. 拷贝log4cppD.lib文件到新目录(例:D:\LogFramework\log4cpp-1.1.3-r\lib)下,拷贝解压目录\log4cpp\include下的log4cpp文件夹到新目录(例:D:\LogFramework\log4cpp-1.1.3-r\include)下。

    更正:以上配置在加载配置文件时会出现无法解析的错误。从第四点开始修改。
    4.在项目(log4cpp)上右键debug生成,等待生成完成。
    5.这时在解压目录\log4cpp\msvc10\log4cpp\Debug下生成了log4cpp.lib文件和log4cpp.dll文件。
    6.拷贝log4cpp.lib文件和log4cpp.dll到新目录(例:D:\LogFramework\log4cpp-1.1.3-r\lib)下,拷贝解压目录\log4cpp\include下的log4cpp文件夹到新目录(例:D:\LogFramework\log4cpp-1.1.3-r\include)下。

配置环境

  1. 配置环境变量。新建 LOG4CPP_HOME 值为 D:\LogFramework\log4cpp-1.1.3-r(log4cppD.lib所在目录的父级目录);在path中添加:%LOG4CPP_HOME%\lib。
  2. 在vs2010项目属性中配置:配置属性->C/C++->常规中的附加包含目录中添加:$(LOG4CPP_HOME)\include ;配置属性->链接器->常规中的附加库目录中添加:$(LOG4CPP_HOME)\lib ;配置属性->链接器->输入中的添加依赖项中添加:log4cppD.lib。

测试

#include "log4cpp/Category.hh"
#include "log4cpp/OstreamAppender.hh"
#include "log4cpp/BasicLayout.hh"
#include "log4cpp/Priority.hh"

#include 

using log4cpp::Category;
using log4cpp::OstreamAppender;
using log4cpp::BasicLayout;
using log4cpp::Priority;

using std::cout;
int _tmain(int argc, _TCHAR* argv[])
{
    OstreamAppender* osAppender = new OstreamAppender("osAppender", &cout);
    osAppender->setLayout(new BasicLayout());

    Category& root = Category::getRoot();
    root.addAppender(osAppender);
    root.setPriority(Priority::DEBUG);
    root.error("Hello log4cpp in a Error Message!");
    root.warn("Hello log4cpp in a Warning Message!");
    Category::shutdown(); 
    system("pause");
    return 0;
}

运行结果

这里写图片描述

注:
1、在项目(log4cpp)上右键release编译会生成release版本的log4cpp.lib文件和log4cpp.dll,和debug版本生成的文件名完全一样。
2、若在拷贝时只拷贝log4cpp.lib文件到对应lib目录中,则会报找不到log4cpp.dll。

你可能感兴趣的:(C++)