一 spdlog简介

spdlog(https://github.com/gabime/spdlog)是一个快速的仅使用头文件或者编译的C++日志库。

二 使用要求

1 编译器

编译器需要支持C++11及以上。

2 平台

Linux, FreeBSD, OpenBSD, Solaris, AIX
Windows (msvc 2013+, cygwin)
macOS (clang 3.5+)
Android

三 使用方式

1 头文件方式

(1)直接使用头文件报错

官方的简介里只需要复制“include”文件夹到项目中,然后引用对应的头文件即可(Copy the include folder to your build tree),然而在实际中,比如VS中这种方式并不能直接使用。
例如,将“include"文件夹放入项目目录,如下图:
项目目录
在VS中引用头文件,会报错,如下图:
VS报错

打开“spdlog.h”文件,发现VS提示找不到<spdlog/common.h>等文件,如下图:
VS报错-找不到对应文件

(2)错误原因分析

注意到“spdlog.h”文件中包含的<spdlog/common.h>,其应该位于"spdlog.h"所在目录里的spdlog目录下,而实际上“spdlog.h"本身就在spdlog目录下,因此包含的位置在spdlog目录下的spdlog目录下,也就是spdlog/spdlog目录,实际上此目录并不存在,因此无法找到所引用的文件。

(3)解决方案

a:将include目录下的spdlog文件夹放入VS中VC的include目录中,如下图:
VS中VC的include目录
同时修改include指令为:
#include "spdlog/spdlog.h"
即可正常使用。
b:在VS项目中设置附加包含目录,将include文件夹添加到附加包含目录中,如下图:
添加到附加包含目录
同时修改include指令为:
#include "spdlog/spdlog.h"
即可正常使用。


冰蓝
1 声望0 粉丝