心血来潮要去看开源代码,看到公司的日志库是在google-glog开源库上二次封装的,那就先撸glog吧.

1. 下载源码 

  一条命令取源码:git clone github.com/google/glog

2. 编译库文件

  双击打开,右键编译,看到succeed,心情还不错~

3. 其他工程调用

  a. 建工程

    

  b. 拷贝头文件

    

   

  c. 放置lib文件

    

  d. 放置dll文件

    

  

  e.  TestDemo工程配置

  配置一:

    

  配置二:

    

  

  配置三:

    

  

  f. 运行

    

  

  g. 一脸懵逼

    

  h. 结论

       洗洗睡吧 !

 编译使用第二发

  1. 痛定思痛,痛何如哉?

  2. 原因分析

    简单的调用都出问题,不爽,看源码。

    我的Demo调用了这个宏来输出

    

    接着找到这个宏

    

    

  

    调用了非C++基础库文件。问题找到。
    原因在于,dll库文件在编译的时候,调用了非基础库的类。这个类在每个不同的编译器上实现可能都不同,因此,用VS2008编译,用VS2013调用会出问题, 问题表现为指针错误。
    并且静态库一定要编译器版本号对应。
    解决方案也很简单,VS2013编译库文件---->VS2013调用 VS2008编译库文件---->VS2008调用

  

  3. 纠正错误

    改用VS2013编译的库,问题解决

    

    

    

  4. 学到的东西

     a. 库文件调用,产生异常的内存读取错误等等...为库文件版本问题。
            b. 通用的库文件,动态库,必须使用C++基本数据类型编译才可通用。
            c. 静态库一定需要编译器版本相同。
            d. 静态库版本错误会导致各种链接错误。
            e. 本机编译的dll文件,在调用的时候可以直接连接到源文件,比较好调试
 
    测试代码:

 #include <iostream>

 #include "glog/logging.h"

 int main()
{
google::InitGoogleLogging("log");
google::SetLogDestination(google::GLOG_INFO, "./myinfo");
LOG(INFO) << "嘿嘿...";
LOG(WARNING) << "呵呵...";
LOG(ERROR) << "嘻嘻...";
LOG(FATAL) << "哈哈...";
LOG(INFO) << "嘤嘤..."; return ;
}
   5. 最后总结
    老感觉少写了点啥, 非常感谢同事WJ的帮助, 编程之路一个人独行确实很难走下去,每次爆出束手无策的错误,总是让人很迷茫.
有些经验并不是搜索引擎能搜的到的. 乐于助人乐于分享的大牛们,都是我的榜样. 
 

Google-GLog编译以及使用的更多相关文章

  1. Google glog 使用

    Google glog 使用 1        简介 Googleglog 库实现了应用级的日志记录,提供了C++ 风格的流操作和各种助手宏. 代码示例: #include <glog/logg ...

  2. c++ google glog模块安装和基本使用(ubuntu)环境

    1,如何安装 1 Git clone https://github.com/google/glog.git 2 cd glog 3 ./autogen.sh 4 ./configure --prefi ...

  3. google::Glog

    windows下使用google的Glog库 下载glog-.tar.gz,解压. vs2013打开工程, 有四个项目 libglog libglog_static logging_unittest ...

  4. google glog 使用方法

    #include <glog/logging.h> int main(int argc,char* argv[]) { google::ParseCommandLineFlags(& ...

  5. google::protobuf 编译方法

    这两天用了一下Protobuf 感觉很方便, 记录一下编译过程, 以做务忘(需要安装cmake): 1: 下载地址: https://developers.google.com/protocol-bu ...

  6. Google glog error LNK2001: unresolved external symbol "__declspec(dllimport) int fLI::FLAGS_XXXX 错误的解决。

    想在 windows 下使用 glog,使用类似 FLAGS_max_log_size 来设置参数,结果编译报错. 解决办法是在 项目属性 -> C/C++ -> Preprocessor ...

  7. VS2013配置编译Caffe-Win10_X64

    原文链接:http://blog.csdn.net/joshua_1988/article/details/45036993 有少量修改................ 2014年4月的时候自己在公司 ...

  8. VS2013配置Caffe卷积神经网络工具(64位Windows 7)——准备依赖库

    VS2013配置Caffe卷积神经网络工具(64位Windows 7)--准备依赖库 2014年4月的时候自己在公司就将Caffe移植到Windows系统了,今年自己换了台电脑,想在家里也随便跑跑,本 ...

  9. glog的编译和使用

    glog是google提供的一个轻量级日志库,有chromium开发经验的人都会发现,它和base库中的日志库非常像,其实base库中的日志库比它更加轻量级.glog在日常开发中的使用非常广泛.这里介 ...

  10. ubutun16.04 安装编译glog日志库

    glog 是一个 C++ 日志库,它提供 C++ 流式风格的 API.在安装 glog 之前需要先安装 gflags,这样 glog 就可以使用 gflags 去解析命令行参数(可以参见gflags ...

随机推荐

  1. js 简易的分页器插件

    1.自己引入jquery插件,我的demo是引入的自己本地的query <!DOCTYPE html> <html> <head> <meta charset ...

  2. DS-5建工程

    DS-5教程-使用ARM DS-5 和DSTREAM仿真器调试裸机程序 http://bbs.elecfans.com/jishu_453909_1_1.html i2c( 楼主 )2014-10-1 ...

  3. Swift 写纯洁的TableviewCell

    let initIdentifier = "员工" var cell = tableView.dequeueReusableCell(withIdentifier: initIde ...

  4. 使用Struts 2防止表单重复提交

    用户重复提交表单在某些场合将会造成非常严重的后果.例如,在使用信用卡进行在线支付的时候,如果服务器的响应速度太慢,用户有可能会多次点击提交按钮,而这可能导致那张信用卡上的金额被消费了多次.因此,重复提 ...

  5. 搭建Android底层开发环境

    为了开发linux驱动方便些,我们一般将linux作为Android的开发环境,那么就需要搭建Android的开发环境,下面是一些搭建Android底层时的心得: (1)安装JDK:除了普遍使用的下载 ...

  6. Hdu 2845 Beans

    Beans Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  7. (最重要)学了这么久的编程,你知道byte吗?

    在c#中,Byte b=12; 上面是合法的,因为Byte是一个字节.他的范围是0-255. 如果是 Byte b=4096;这是错的 ,必须加上强制类型转换. 这个小问题,虽然很小但是值得注意.

  8. mono支持gb2312

    需要安装mono-locale-extras 输入命令 yum install -y mono-locale-extras 安装即可

  9. hadoop 多表join:Map side join及Reduce side join范例

    最近在准备抽取数据的工作.有一个id集合200多M,要从另一个500GB的数据集合中抽取出所有id集合中包含的数据集.id数据集合中每一个行就是一个id的字符串(Reduce side join要在每 ...

  10. AngularJs--angular-pagination可复用的分页指令

    1.angular-pagination 是基于angular 编写的可复用分页指令 安装 克隆项目到本地: git clone https://github.com/febobo/angular-p ...