想要在MFC下做一个日志显示和记盘的功能,查了网上很多的日志库,很多人都推荐使用轻量级的Google-glog。下面给出安装的步骤:
一.前期工作
1.下载glog框架。下载地址:https://github.com/google/glog。最新版本的需要cmake构建工具进行编译,v0.3.4的都不需要直接点击glog.sln编译即可。但是看网上很多人说老版本的性能不好,于是我还是乖乖的下了新版本的。
版本的选择点击界面的release进行选择。
2.下载cmake。下载地址:https://cmake.org/download/。根据系统选择了cmake-3.19.0-rc3-win64-x64.msi,下载后点击安装就可以了
二.生成工作
1.打开Cmake
在①和②处分别点击browse选择glog-master以及编译生成的文件夹glog-build(自己创建),然后点击configure,会弹出对话框,选择本机的vs版本(一般软件会自动识别),至于下面的系统我没选择他自己默认的win32。点击确定后就会出现上图的红色,在最下面的文本框里看到configure done时,再勾选④的两个选项,其他的默认不变就好了,点击generate,等到generate done就完成啦。
2.看看你的目标文件夹glog-build,在Debug或者Release文件下找到glog.dll和glog.lib文件将它放置到工程文件夹下,并将glog-master下的glog头文件同样放进该文件夹(glog-master->src->windows->glog),接下来就需要哦进行配置了
三、配置工作
1.打开自己原有的工程,选择属性——C/C++——常规——附加包含目录——选择新增头文件所在文件夹(glob)
2.链接器——常规——附加库目录——选择存放glog.lib和glog.dll文件所在的文件夹
3.链接器——输入——附加依赖项——增加glog.lib
设置完成后点击确定
四、测试代码
#include "stdafx.h"
#include "glog/logging.h"
#include <iostream>
#include <vector>
using namespace std;
#pragma comment(lib,"glog.lib")//网上很多都写的是libglog.lib那是下载的老版glog才有的,新版的名字是glog
#define GLOG_NO_ABBREVIATED_SEVERITIES//
#define GOOGLE_GLOG_DLL_DECL//这两句宏不知道有啥用,我删除也没有报错,但是看别的帖子都加了
int _tmain(int argc, _TCHAR* argv[])
{
// Initialize Google's logging library.
google::InitGoogleLogging((char*)argv[0]);
google::SetLogDestination(google::INFO, "E://");
// 设置日志路径 INFO WARNING ERROR FATAL
// ...
char str[20] = "hello log!";
LOG(INFO) << "Found " << google::COUNTER << endl;
LOG(INFO) << str;//<< " cookies";
LOG(WARNING) << "warning test"; // 会输出一个Warning日志
LOG(ERROR) << "error test";//会输出一个Error日志
system("pause");
return 0;
}
调试结果:
之前按照步骤总是存错说无法打开“libglog.lib”后来才知道,这是老版的,害的我找了两天的问题,光在网上复制了都没看代码。还有就是#define GLOG_NO_ABBREVIATED_SEVERITIES//
#define GOOGLE_GLOG_DLL_DECL
这两句不知道有啥用,有的博主说不加会报错,但是我的没加依然好好的,如果有高手知道还请告诉下我这个小白。
看着很简单,来来回回浪费了两天,我自己看到这个错误是也是想要笑哭