VS2013下使用log4cplus
原文:http://blog.csdn.net/qq_35850668/article/details/52522932
最近工作需要,需要使用log库来完善日志类记录,由于之前没什么经验,遇到了很多困难。
工作环境: X64+VS2013社区版
log4cplus官网下载路径:https://sourceforge.net/projects/log4cplus/files/log4cplus-stable/1.1.3/
具体经历如下:
1:下载了最新版的log4cplus-1.2.0.7源代码。进入...\log4cplus-1.2.0\msvc10文件夹,点击sln后,默认使用了VS2010来打开项目了(本人恰好安装了VS2010),悲剧就开始了。
2:编译log4cplus和log4cplusS两个项目之后,很轻易就编译OK了,心情棒棒哒。
生成了log4cplusD.dll和log4cplusD.lib以及log4cplusSD.lib,你可以选择前两个配套使用,也可以选择最后一个lib单独使用。于是我把这三个库+include文件夹拷进了我自己的项目(VS2013)。我选择的前两个库一起配套使用。
3:把库关联好,把log4cplusD.dll添加到exe生成目录后,编译,出现各种无法解析的外部log4cplus函数。检查include包含和库包含目录,检查头文件,检查依赖库和exe同目录的dll,都没有问题啊,
百度很久后才知道原来是log4cplus
dll项目字符集跟当前项目字符集不一致。我的项目当前字符集是Unicode,而log4cplus是默认的多字节字符集,改为unicode后编译成功。
4:在自己代码中封装好log4cplus类后:
编译链接运行后,发现一调用log4cplus自带库函数,整个程序就崩溃。后来偶然把项目的平台工具集改成v100后,程序正常。
5:然而VS2013平台环境不能因为log4cplus不适应而更改,所以只能重新用VS2013来编译log4cplus,再把生成的库放入工程后,一切正常,没有出现奔溃,也能够正常生成log。可是在程序main函数return后,出现exit()错误,程序崩溃。
6:查找很多资料,都没能解决问题,后来看到这篇客:http://www.cnblogs.com/swarmbees/p/5621619.html,更加心如死灰,于是就放弃了,准备自己开刀写个日志类。
7:当我写完后,老大看到了,对我说有现成的log4cplus库,要我去使用这个库。我于是又回到上面的问题。
8:偶然看到一篇文章http://blog.csdn.net/shaozhenged/article/details/51866186,发现走过的路都白走了,博主说他使用的是log4cplusSD.lib库,而不是log4cplusD.dll和log4cplusD.lib配对,我把项目库也改成了log4cplusSD.lib后,问题就这样解决了。
VS2013下使用log4cplus的更多相关文章
- 在win 7 vs2013下 web 调试 出现“ iis Express Worker Process 已停止工作”错误
在win 7 vs2013下 web 调试 出现“ iis Express Worker Process 已停止工作”错误: 如下图: 最终解决方案如下: 用管理员身份运行CMD,输入netsh ...
- C++11 图说VS2013下的引用叠加规则和模板参数类型推导规则
背景: 最近在学习C++STL,出于偶然,在C++Reference上看到了vector下的emplace_back函数,不想由此引发了一系列的“探索”,于是就有了现在这篇博文. 前言: ...
- vs2013下git的使用
一.将VS2013项目托管到Git 现在的开源项目越来越多,我们会注意到这些开源项目大多共享在GitHub上面,包括微软开源的项目也在Github上,当然,如果你用过Git后,会发现Git确实不错,其 ...
- vs2013下的WCFRest 模板开发WCF
在vs2013下使用wcfRestservice40 是安装不成功的,尝试多遍,都是这样.查看以前vs2012做的wcfrest,经过调教,终于在vs2013下也可以了! 1.新建wcf服务应用程序 ...
- live555—VS2010/VS2013 下live555编译、使用及测试(转载)
Ⅰ live555简介 Live555 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP.RTSP.SIP等 的支持.Live555实现了对多种音视频 ...
- vs2013下配置opencv1.0.0
vs2013下配置opencv1.0.0 2019-4-25 17:13:13 原因 现在最新opencv已经到4.0.1版了.用opencv1.0原因: 小.源码包只有10M左右. 清晰.他的文档结 ...
- 关于VS2013下制作和使用静态库和动态库
关于VS2013下制作和使用静态库和动态库 引言 什么是库:库是写好的现有的,成熟的,可以复用的代码. 所谓静态.动态是指链接.将一个程序编译成可执行程序的步骤: 静态库在链接阶段,会将汇编生成的目标 ...
- 人脸识别引擎SeetaFaceEngine简介及在windows7 vs2013下的编译
SeetaFaceEngine是开源的C++人脸识别引擎,无需第三方库,它是由中科院计算所山世光老师团队研发.它的License是BSD-2. SeetaFaceEngine库包括三个模块:人脸检测( ...
- VS2013下的64位与32位程序配置
VS2013下的64位与32位程序配置 在Windows 7 64bit和Visual Studio 2013下生成64位程序. 新建一个Visual Studio Win32 Console项目 ...
随机推荐
- js 移动端获取当前用户的经纬度
一.HTML5 geolocation的属性 if(navigator.geolocation){ navigator.geolocation.getCurrentPosition(onSuccess ...
- 我也学习JAVA多线程-join
在工作中,挺少遇到join关键字,但很多多线程资料和面试过程中,初中级开发工程师总会遇到join. 今天一起学习下join. join的作用:等待指定的时间(当为0时,一直等待),直到这个线程执行结束 ...
- CF1007D. Ants(树链剖分+线段树+2-SAT及前缀优化建图)
题目链接 https://codeforces.com/problemset/problem/1007/D 题解 其实这道题本身还是挺简单的,这里只是记录一下 2-SAT 的前缀优化建图的相关内容. ...
- poj3250 Bad Hair Day 单调栈(递减)
Bad Hair Day Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 24420 Accepted: 8292 Des ...
- Iviews视频搜索引擎
随着视频类型的增加和数据量的日益庞大,如何有效地组织和管理这些数据,使人们能够方便地从大量视频数据中找到自己感兴趣的相关视频片段已成为一种迫切的需求,而能够满足这一需求的技术便是目前人们普遍关注的基于 ...
- 学习GO第一天,自我感觉可麻利的开干了-GO语言配置、开发、服务器部署
学习GO第一天,自我感觉可麻利的开干了-GO语言配置.开发.服务器部署 第一步下载 go sdk https://golang.org/dl/ https://storage.googleapis.c ...
- HTML5创业的另一种可能
当一种新的颠覆式技术出现,是投靠大平台还是坚持走独立的道路? HTML5(下称H5)火了.在多数人还没完全弄清楚什么是H5时,它已悄无声息地潜入移动端,并渐呈燎原之势火速席卷云寻觅云寻觅. 以前,H5 ...
- vertical-aligin
垂直对齐元素只应用于行内元素(图像.文本)和表单元素 垂直对齐文本会影响行高 默认值为baseline
- tomcat监控工具probe
probe官网:http://www.lambdaprobe.org/ 但是已经链接至github了:https://github.com/psi-probe/psi-probe 下载psi-prob ...
- MySQL Group Replication 介绍
2016-12-12,一个重要的日子,mysql5.7.17 GA版发布,正式推出Group Replication(组复制) 插件,通过这个插件增强了MySQL原有的高可用方案(原有的Replica ...