Ubuntu/Windows使用glog(0.3.5版)

前端之家收集整理的这篇文章主要介绍了Ubuntu/Windows使用glog(0.3.5版)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

glog获取

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

或者直接网页下载下来,tar -xzvf google-master*.gz


glog编译生成

如果是window平台,得使用CMake工具生成解决方案并编译生成相应的libglog.dll,libglog.lib本文不作赘述。前面以说过CMake的使用。

Ubuntu生成库还是很方便的,基本命令流程就是

./autogen.sh该工具如果没安装会报错,安装命令sudo apt-get install autoconf automake libtool,必须是三个包都安装

./configure 生成配置信息,可以在此改变生成路径,否则默认是/usr/local/lib目录

make

make install 这里可能需要sudo,执行无报错,会生成相应的库文件:libglog.a,libglog.so....

可以将生成的动态库放到系统lib目录 cp libglog.so* /usr/lib

glog使用

库已经生成了,头文件结构如下图(这是我的qt中引用的结构):

测试代码如下:

#include <iostream>
#include "glog/logging.h"
using namespace std;

int main(int argc,char** argv)
{
	google::InitGoogleLogging(argv[0]);//初始化
        google::SetLogDestination(google::GLOG_INFO,"./aTestInfo");//设置日志文件路径,默认+时间作为生成的日志文件名
	LOG(INFO)<<"HELLO"<<" WORLD!";
	return 0;
}

g++ Test.cpp -L库目录 -lglog

./a.out


顺便附上qt工程配置

INCLUDEPATH +=./3rdParty/glog-master/include


LIBS += -L./3rdParty/glog-master/lib -lglog

注意

你可以使用以下的日志等级(日志等级从低到高):INFO、WARNING、ERROR和FATAL。使用FATAL打印日志的时候,程序会在打印该日志后终止。需要注意的是,一个给定的日志等级日志信息不仅会记录到当前的日志等级文件,还会记录到所有比他等级低的日志文件内(就是说,WARNGING的日志不仅会打印到日志文件warnging中,还会打印到INFO日志文件中),比如FATAL的日志会打印到所有的日志文件中,包括INFO、WARNING、ERROR和FATAL。

Windows使用glog(0.3.5)

此版本glog在window下CMake会生成一系列项目,如图glog只生成lib库

这在之前的版本会生成dll,lib等几个工程,现在就只有一个工程了也只需要使用这一个静态库,换句话说可能是考虑到项目本来就轻巧,不需要dll,直接lib足够了。

下面说使用注意点:

1、在需要的地方#include "glog/logging.h"。建议添加到stdafx.h中。

2、使用静态库必须添加#define GOOGLE_GLOG_DLL_DECL。动态库不必添加

3、因windows.h中定义的宏ERROR,与glog中定义的宏ERROR冲突,所以如果#include <windows.h>后要添加#define GLOG_NO_ABBREVIATED_SEVERITIES,并且代码中要用google::GLOG_ERROR来代替原来的google::ERROR,相应的其他也改为:GLOG_INFO、GLOG_WARNING、GLOG_FATAL。

4、添加文件:#pragma comment(lib,"glog/libglog_static.lib")

原文链接:https://www.f2er.com/ubuntu/349747.html

猜你在找的Ubuntu相关文章