一 Log4cpp介绍
Log4cpp 类似的支持库还包括Java(log4j),C++(log4cpp、log4cplus),C(log4c),python(log4p)等。
log4c... 是基于log4j的一系列的c++移植版本,使用了log4j的模式结构,目前主要有以下几个版本:
1. log4cxx ,Apache下的孵化项目,不能独立编译,依赖于APR,编译比较麻烦,2008年以后就没再更新;
2. log4cplus ,最近一次更新2016-01-16,不依赖于第三方库;
3. log4cpp ,也不依赖与第三方库,与log4cplus功能类似,但是简化了一些实现,增加了一些功能;
二 Log4cpp编译
1、下载
文件名: log4cpp-1.1.1.tar.gz
下载地址: http://sourceforge.net/projects/log4cpp/files/log4cpp-1.1.x%20%28new%29/log4cpp-1.1/
2、编译环境
目标平台:Windows 8.1、VS2015(v140)
3、编译过程
3.1 解压
将log4cpp-1.1.1.tar.gz解压缩到:D:\develop_project\log4cpp-1.1.3。
3.2 编译
打开msvc10.sln
使用VS2015打开msvc10.sln:D:\develop_project\log4cpp-1.1.3\log4cpp\msvc10\msvc10.sln。
编译log4cpp、log4cppLIB
将sln中的test的工程删除,只保留log4cpp、log4cppLIB,进行编译。
4、报错
错误 C2084 函数“int snprintf(char *const ,const std::size_t,const char *const ,...)”已有主体 log4cpp d:\develop_project\log4cpp-1.1.3\log4cpp\src\snprintf.c 536
解决方法:定位到这个方法,将这个方法整个注释掉。(这样做目前未发现问题)
重新编译后,成功。
生成log4cpp.dll、log4cpp.lib,在目录:D:\develop_project\log4cpp-1.1.3\log4cpp\msvc10\log4cpp\Debug下。
三 引用
1、头文件 *.h
打开“附加包含目录”,位置如下图:
设置头文件路径(例如,D:\develop_project\log4cpp-1.1.3\log4cpp\include),如下图。这样,整个include文件夹中的头文件就引入到工程里了。
2、静态库*.lib
找到刚才生成的lib文件的路径,添加到下图所示“附加库目录”的位置。最后将lib文件名写在下图“附加依赖项”的位置。
3、动态库 *.dll
将动态库文件复制粘贴到工程文件所在的目录下 和 \debug目录下。如图:
四 使用说明
Log4cpp具体如何使用,可以参考以下链接
http://log4cpp.sourceforge.net/#simpleexample
https://www.ibm.com/developerworks/cn/linux/l-log4cpp/
https://www.xuebuyuan.com/3255730.html
介绍lib与dll文件区别的链接
https://www.cnblogs.com/TenosDoIt/p/3203137.html
https://www.cnblogs.com/zkwarrior/p/10948174.html
原文地址:https://www.cnblogs.com/lhlc-9-9/p/12358278.html