下载地址:https://sourceforge.net/projects/log4cplus/files/log4cplus-stable/
以log4cplus-1.2.1为例,最新版本log4cplus-2.0.4编译时使用的头文件会报错,编译的库可以正常使用。
C/C++log日志库比较:https://blog.csdn.net/gatieme/article/details/50603682
生成库文件
将下载内容解压后,在msvc14目录下可以打开log4cplus.sln(vs项目)。
配置属性:
log4cplus的配置类型使用默认的动态库(.dll)。配置选择Release_Unicode字符集默认为Unicode字符集(具体选择哪种配置看使用环境是开发还是发布,和使用程序一一致)。C/C++目录下代码生成 运行库选项 默认多线程DLL。
log4cplusS配置类型默认静态库(.lib)。其他同上。
配置属性-->高级中配置字符集和使用程序一致。
使用log4cplus时遇到的链接错误:无法解析的外部符号 "public: static class log4cplus::Logger __cdecl log4cplus::Logger::getInstance(class std::basic_string<wchar_t,struct std::char_traits<wchar_t>
这是由于当前工程项目的“字符集”设置与log4plus所用的“字符集”不一致所导致的,log4cplus是使用多字节字符集,而当前工程是使用 Unicode 字符集
https://www.yuanmas.com/info/Eda7564lOJ.html
选择你想要的版本,这里我选择的是DEBUG_Unicode与Release_Unicode分别对应我工程的Debug与Release版本,然后找到log4cplus与log4cplusS,分别在两个模式下编译他们
然后在log4cplusmsvc10/Win32中,生成两个含有静态库的文件夹(bin.Release/Debug[_Unicode]),分别对应debug与release版本。静态库名称为log4cplusSUD.lib(debug)与log4cplusSU.lib(release)。
配置
C/C++中常规,附加包含目录中添加头文件( .h )所在目录。
链接器中常规,附加库目录中添加静态库( .lib )所在目录。输入中的附加依赖项添加需要的静态库文件( .lib )
动态库(.dll)放在和程序同目录下
error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2https://www.cnblogs.com/lisuyun/p/6410393.html
使用
https://blog.csdn.net/weixin_42259823/article/details/97236141