近期研究了一点关于glog日志库的使用,在linux下多项目编译时只要加上glog动态库链接即可,且能正常运行。
在windows下,使用glog动态库时,在调用宏定义FLAGS_XXXXX初始化时会报未定义错误(解决方法暂未找到),这意味着我们无法通过宏来设置参数,我看到glog源代码里宏的默认值可以通过读取环境变量来设定,我也尝试了一下,可能是哪里设置有误,没有成功。在使用glog静态库时,不管是主项目还是类库项目都能编译通过,但是类库项目调用LOG()写日志失效,日志文件中没有类库文件中应该输出的日志。后面我找了一篇分析库源码的博客,想到了一个方法——使用glog静态库,在主项目中创建一个写日志的函数,函数调用
google::LogMessage(pFileName,iLine,google::GLOG_ERROR).stream()<<string;
,在库文件中调用这个方法即可达到目的。
如果你想进一步了解glog库,可以看下这篇博客:
https://www.cnblogs.com/davidyang2415/p/3861109.html