Windows下glog的编译和使用

本文详细介绍了glog库的编译流程,包括从github下载源码、使用cmake生成vs解决方案、配置编译参数等步骤。同时,文章还提供了如何在项目中使用glog库的具体代码示例,包括设置日志级别、输出路径等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在项目中使用了glog库控制log的输出,在此记录下glog库的编译和使用的过程。

首先我们来看如何编译glog

1.从github上下载glog的源码。我们这里将源码下载到文件夹E:\3PartyLibrary下。

2.然后使用cmake-gui生成vs解决方案。如下图所示。

3.cmake的过程中需要注意图中6个用红色框框起来的部分。

第一个是源码路径,选择我们代码存放的位置。

第二个是生成解决方案的路径,我们在源码同级目录下创建一个文件夹,命名为glog-master-build。

第三个是BUILD_SHARED_LIBS,这个选项我们要勾上,因为我们需要动态库。

第四个是CMAKE_INSTALL_PREFIX,这个路径是install后生成的头文件和库文件存放的路径,这里我们在源码同级目录下创建一个文件夹,命名为glog-master-install。

第五个和第六个分别是WITH_GFLAGS和WITH_UNWIND,这两个我也不是很清楚是做什么的,但是如果把这两个勾上的话,在cmake的过程中就会报warning,因此都不勾。

4.之后分别点击Configure和Generate。

5.经过以上的cmake操作后,就会在build目录下(即glog-master-build文件夹)生成VS解决方案。

6.用VS打开该解决方案,并分别对ALL_BUILD和INSTALL两个项目进行编译,如下图所示。

7.编译过程应该不会有错误。编译成功后就在install目录下(即glog-master-install文件夹)生成头文件和库文件。如下图所示。

 

接下在,我们来看如何使用glog

这里,为了代码目录结构清晰,我将上面生成的头文件放在了测试代码的external\glog文件夹中,将上面生成的.lib文件放在了测试代码的lib文件夹中,将上面生成的.dll文件放在工程所在文件夹中。

在使用vs新建项目后,需要将我们上面生成的头文件包含在项目的Include Directories中,将上面生成的库文件包含在项目的Library Directories中。如下图所示。

测试代码如下:

#ifndef GLOG_NO_ABBREVIATED_SEVERITIES
#define GLOG_NO_ABBREVIATED_SEVERITIES // 如果不加这个宏定义我的代码就会报错,不知道别人是不是也有这个问题
#endif
#include <glog\logging.h>

#pragma comment(lib, "glog.lib")

int main()
{
   google::InitGoogleLogging("test");
   FLAGS_alsologtostderr = true;
   FLAGS_colorlogtostderr = true;

   google::SetLogDestination(google::GLOG_INFO, "E:\\tool\\test\\logs\\INFO_");
   google::SetLogDestination(google::GLOG_WARNING, "E:\\tool\\test\\logs\\WARNING_");
   google::SetLogDestination(google::GLOG_ERROR, "E:\\tool\\test\\logs\\ERROR_");
   google::SetLogDestination(google::GLOG_FATAL, "E:\\tool\\test\\logs\\FATAL_");

   LOG(INFO) << "info";
   LOG(WARNING) << "warning";
   LOG(ERROR) << "error";
   //LOG(FATAL) << "fatal";
   google::ShutdownGoogleLogging();

   return 0;
}

代码执行后,会在E:\tool\test\logs文件夹下生成三个log文件,这里我没有将FATAL也打印出来是因为当glog检测到"LOG(FATAL)<<"代码时就会直接结束程序,不继续执行后面的代码。

以上就是我使用glog的过程,在此记录分享。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值