window 安装glog 以及 vs 2010 vs 2015 编译出错解决汇总

下载地址:

官网: 

https://code.google.com/archive/p/google-glog/

github: 
https://github.com/google/glog

The glog library implements application-level logging. This library provides logging APIs based on C++-style streams and various helper macros.

主要功能:

1, 参数设置,以命令行参数的方式设置标志参数来控制日志记录行为; 
2, 严重性分级,根据日志严重性分级记录日志; 
3, 可有条件地记录日志信息; 
4, 条件中止程序。丰富的条件判定宏,可预设程序终止条件; 
5, 异常信号处理。程序异常情况,可自定义异常处理过程; 
6, 支持debug功能。可只用于debug模式; 
7, 自定义日志信息; 
8, 线程安全日志记录方式; 
9, 系统级日志记录; 
10, google perror风格日志信息; 

11, 精简日志字符串信息。

window下 glog 安装使用

下载后解压,利用Visual Studio打开google-glog.sln。生成解决方案

打开sln会有几个项目,libglog是动态库,生成dll,libglog_static是静态库,生成lib。

安装:

方法一:将libglog.dll和libglog.lib文件,拷贝文件到你的工程文件夹下,并拷贝src\windows\下的glog目录到你的工程文件下。

方法二:你也可以将这两个文件拷贝到系统文件夹下,实现全局访问。

1. 将libglog.dll拷贝到C:\Program Files\Microsoft Visual Studio 14.0\VC\bin

2. 将libglog.lib拷贝到C:\Program Files\Microsoft Visual Studio 14.0\VC\lib

3. 将src\windows\下的glog目录拷贝到C:\Program Files\Microsoft Visual Studio 14.0\VC\include

测试程序

#include "glog/logging.h"    
#include <iostream>    
#include <vector>    
using namespace std;    
#pragma comment(lib,"libglog.lib")    
  
int main(int argc, char* argv[])  
{  
    // Initialize Google's logging library.    
    google::InitGoogleLogging(argv[0]);    
    google::SetLogDestination(google::INFO,"E://glog");    
    // 设置日志路径  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;  
} 
说明:
编译运行 再E:/glog 目录下可以看到 log文件。

编译可能出现的问题:

glog在vs2010下编译 
打开google-glog.sln 
编译 
成功 

在Debug文件夹下就有我们想要的libglog.dll libglog.lib等我们想要的文件

glog在vs2015下编译 
打开google-glog.sln 
编译 
错误1:’min’不是std的成员 
解决方法: 
添加头文件#include<algorithm>

错误2:warning C4005: “va_copy”: 宏重定义 
解决方法: 
修改文件port.h,117行改为:


#undef va_copy
#define va_copy(dst, src)  (dst) = (src)

错误3: 
error C2084: 函数“int snprintf(char *const ,const size_t,const char *const ,…)”已有主体 
c:\program files (x86)\windows kits\10\include\10.0.10150.0\ucrt\stdio.h(1932): note: 参见“snprintf”的前一个定义

解决方案: 

修改snprintf的名字,比如改为snprintf_glog,要全部改掉,可以用大番茄插件,方便快捷


参考链接:

https://blog.youkuaiyun.com/luyafei_89430/article/details/39497765

https://blog.youkuaiyun.com/wangshubo1989/article/details/53324586

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值