1.获取软件包

请从官方网站获得合适的版本,下载完成后解压缩到合适的目录中(目录中最好不要有空格,目录名最好是全英文的)。

2.获取软件包

在windows下可以用VC6.0以上的版本加载log4cxx的源码,项目文件在\log4cxx\msvc下log4cxx.dsw,然后选择F7(build all),一般情况下都能顺利编译通过。编译结束后会有以下几个文件:

1)log4cxx\msvc\lib下会有log4cxxs.lib和log4cxx.lib,其中log4cxxs.lib是用在静态库中的,log4cxx.lib是动态的引入库

2)log4cxx\msvc\bin\下会有log4cxx.dll,这是log4cxx做为静态库时的dll文件,必须要与可执行文件放在同一目录下。它跟log4cxx.lib是配合使用的。

3.项目环境设置

1)添加include目录,在“工具->选项->VC++目录->包含文件”,把log4cxx的include目录添加进去。成功后如下图所示:

2)根据源码编译属性时使用的字符集选择合适的字符集,我这里log4cxx编译库的时候使用的是“使用多字节字符集”,所以导入的时候,“项目->属性->常规->字符集”也是需要选择“使用多字节字符集”。

3)根据引入方式的不同而进行不同的设置

静态库的引入方式:

1.添加引入库的依赖项:“项目->属性->链接器->输入->附加依赖项”,填入log4cxxs.lib和WS2_32.Lib,并把log4cxxs.lib放到该项目的根目录下。

2.添加预编译器定义,“项目->属性->配置属性->C/C++->预处理器->预处理器定义”,填入LOG4CXX_STATIC。如下图所示

3.修改运行库的调试方法,“项目->属性->C/C++->代码生成->运行时库”,选择多线程调试(/MTd),成功后如下图所示:

动态库的引入方式:

1.添加引入库的依赖项:“项目->属性->链接器->输入->附加依赖项”,填入log4cxx.lib,并把log4cxx.lib放到该项目的根目录下。

2.添加log4cxx\msvc\bin\下的log4cxx.dll文件拷贝到执行文件的相应目录下。

4.编写代码

这试我顺便写的一个测试代码,可以通过的

#include

#include

#include

#include

#include

#include

#include

#include

usingnamespace log4cxx;

usingnamespace log4cxx::xml;

usingnamespace log4cxx::helpers;

intmain()

{

int

result = EXIT_SUCCESS;

try

{

BasicConfigurator::configure();

//PropertyConfigurator::configure("log4j.properties");

//DOMConfigurator::configure(

_T( "log4j.xml" ) );

LoggerPtr rootLogger =

Logger::getRootLogger();

//LoggerPtr

rootLogger = Logger::getLogger(_T("comm"));

rootLogger->info(_T("它的确工作了"));

rootLogger->warn(_T("错误啦!!"));

/*

NDC::push(_T("trivial

context"));

rootLogger->debug(_T("debug

message"));

rootLogger->info(_T("info

message"));

rootLogger->warn(_T("warn

message"));

rootLogger->error(_T("error

message"));

rootLogger->fatal(_T("fatal

message"));

*/

}

catch(Exception&)

{

result = EXIT_FAILURE;

}

return

result;

}

注意事项:

1)使用xml作为配置文件的时候一定要把log4j.dtd和xml配置文件一起放。

linux log4cxx 静态库,log4cxx的个人实践相关推荐

  1. Linux 之三 静态库及动态库的编写和使用

      最近在整理旧电脑时,发现了一些刚入行时的学习记录,以及最早使用新浪博客 http://blog.sina.com.cn/zcshou 写的一些文章.最近要重拾 Linux,所以把这些 Word 文 ...

  2. Linux上静态库和动态库的编译和使用

    linux上静态库和动态库的编译和使用(附外部符号错误浅谈) 这就是静态库和动态库的显著区别,静态库是编译期间由链接器通过include目录找到并链接到到可执行文件中,而动态库则是运行期间动态调用,只 ...

  3. 【Linux】静态库与动态库的生成及调用

    一,库:一种可执行代码的二进制形式,可以被载入内存执行.其中库分为静态库.动态库 二,静态库和动态库的区别          1)Linux 下静态库:名字一般为 lib***.a利用静态函数库编译成 ...

  4. Linux中静态库和动态库(共享库)的区别

    1. 静态库和动态库的制作过程区别 1.1 静态库的制作过程 详见博客:Linux中静态库的制作与使用 1.2 动态库的制作过程 详见博客:Linux中动态库(共享库)的制作与使用 2. 静态库和动态 ...

  5. 【Linux】Linux下静态库(.a)和动态库(.so)的制作和使用

    如有错误,欢迎大家指正,感谢! ​​​​​​​目录 一.程序工作过程简单介绍 1. 安装GCC 2. 源程序工作流程 3. 使用示例 4. gcc常用的编译参数选项 二.静态库的制作及使用 1. 库是 ...

  6. [学习备忘录]Linux平台静态库、动态库的一些笔记

    先声明几点: 1.操作系统:linux(fc9).编译器:gcc-4.3.0.编辑器:包括但不限于emacs.vim.这些无理由也不应造成限制. 2.生成的可执行文件名称比较有规律,仅仅是为了演示的方 ...

  7. linux 交叉编译 静态库,从Linux为Windows开发交叉编译静态库

    我想在Linux中为Windows编译静态库.以下是我跟着编译从Linux为Windows开发交叉编译静态库 使用i586-mingw32msvc-cc -c static_lib.c -o stat ...

  8. linux 动态库建立,浅析linux下静态库和动态库的建立和使用

    在粤嵌学了很多知识,我们把常用的公用函数放在一起做成一个函数库,可以供其他程序共同使用,函数库本质上说,是一个可执行代码的二进制形式,可被操作系统载入内存执行.linux下的库分为两种:静态库,后缀名 ...

  9. linux系统中 库分为静态库和,Linux系统静态库与共享库

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? This article mainly introduces the statics library and share ...

  10. Linux下静态库和动态库的编译连接

    http://blog.sina.com.cn/s/blog_4090ba590100t3nu.html .a文件 gcc -c test.c  ar rc libtest.a test.o  ran ...

最新文章

  1. 国行版HomePod售价2799元,本周五发售
  2. JAVA 中BIO,NIO,AIO的理解
  3. apche 虚拟主机设置
  4. Java项目实训报告
  5. 各种页面刷新代码大全,asp/javascript刷新页面代码
  6. 购房占比47.54%,数据揭秘女性偏爱婚前买房背后原因
  7. python求最大素数_Python实现求最大公约数及判断素数的方法
  8. 中国联通官网被发现含木马脚本,可向用户推广色情APP
  9. java 13种技术_JavaEE的13种核心技术
  10. 选出一个从零到五十之间的数,要求能被3整除且一位上的数为5
  11. VMware15下安装Ubuntu18.04
  12. 无法启动此程序 因为计算机中丢失msvcr71.dll,msvcp71.dll丢失怎样修复_电脑提示计算机丢失msvcr71.dll如何解决...
  13. 假期读好书——力荐《八位大学校长》
  14. Flutter 环境配置
  15. 苏宁、长虹、格力,为何“玩不好”旧家电?
  16. Picasso加载圆形图片和圆角图片
  17. VS2010中,无法嵌入互操作类型“……”,请改用适用的接口的解决方法
  18. apache atlas 案例_元数据治理 Apache Atlas
  19. 电脑风扇声音大怎么办?具体原因以及解决措施,快速解决
  20. kotlin android 4,Kotlin Android Extensions: 与 findViewById 说再见 (KAD 04)

热门文章

  1. 高红梅:第四章 第二节 猎捕与欧美文化的身份认同
  2. mysql怎么设置不要密码_mysql无密码怎么设置密码
  3. vlog短视频_适用于Vlog或视频网络的20+ WordPress主题
  4. 修复windows系统引导
  5. DTL常用过滤器详解
  6. (转发)RJ45水晶头网线的做法
  7. Linux基础-制作本地yum仓库(离线安装软件)
  8. 教你5分钟制作出一个Unity图像追踪的AR Demo(使用EasyAR插件4.1版本,个人版,免费)
  9. k8s之四层负载均衡Service:概念、原理解读
  10. org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned f