热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

刚审批过补个昨天写的~

为了让学会的东西记忆更深刻,还是准备开个技术博客记录一下学习心得以及曲折的过程。。语死早,不会写博客,还是先从记流水账开始吧。周五接了个新手任务,学会在LINUX下使用gtest、gmock、gl

为了让学会的东西记忆更深刻,还是准备开个技术博客记录一下学习心得以及曲折的过程。。语死早,不会写博客,还是先从记流水账开始吧。

周五接了个新手任务,学会在LINUX下使用gtest、gmock、glog然后编个事例。
当时的情况是。。LINUX我就两年前装起来玩过几天,只是在命令行下照着教程敲了几下,大多数时间在感叹原来LINUX也是有界面的,被骗了好久o(╯□╰)o。。。
所以,在实验室偷偷开迅雷限速下centos6.5的镜像,然后出去和马上离校的同学喝酒去了0。0

周六跑到实验室,把虚拟机装上了,然后搜了个LINUX常用命令详解开始一边回忆一边学着用命令行。。
然后发现,sudo命令在我输入密码后,居然说我没权限,这尼玛,以前用ubuntu的时候记得就是这么用的啊。。坑。。然后去google了一发,原来要修改/etc/sudoers,
# User privilege specification
root ALL=(ALL) ALL
//在这里插入
ltc ALL=(ALL) ALL
新技能get


晚上回寝室,觉得闲的无聊,就又下了个centos准备安在笔记本上玩。。然后发现,虚拟机居然只能安32bit的,不科学啊,中午还在实验室安过没问题啊。。。结果,实验室是AMD的CPU,笔记本是INTEL的,INTEL的CPU需要enable虚拟化才可以安装64bit的虚拟机。。新技能get。。

然后,virtualbox安装到第978个包的时候,居然卡住了。。住了。。了。。。好吧,终止进程再来一次,卧槽,又在这里,卡住了。。怒删virtualbox安装vmware,好家伙,居然虚拟机自动设置安装参数直接进入了安装读条界面,仔细一看,少了100多个安装包。。。不知道死哪去了。。不过后面一切正常,安完2点过睡觉。。

周日中午爬起来,然后准备安装那三个google工具。。咦。。LINUX自动安装的命令是啥,忘了。。apt用不了。。结果centos是需要用yum的。。然后先用yum下了个gtest,下完发现不会用。。google一发,知道了这种压缩包式的软件通常需要自己编译,首先用configure进行配置,然后make,编译通过后make install安装结束 新技能get 不过还没完,设置环境变量 vi /etc/ld.so.conf 然后添加/usr/local/lib然后保存。。这一点在后面运行glog的时候着实坑了我一把 新技能get


然后,然后,发现,什么鸟玩意儿,为嘛找不到个可以用的。。。后来才发现,还要用g++连接。。。一看g++版本,4.4.7,貌似说要支持c++11的才行。。然后又去升级g++去。。http://xg2007524.blog.51cto.com/869106/1337465
这个小伙伴的博客让我少走了很多很多很多的弯路,真心感谢。。这也是我想要开始写技术博客的原因。。。折腾完g++的版本,终于可以继续编译链接gtest了

http://www.cnblogs.com/codemood/archive/2013/06/06/3120831.html。。在./configure后,执行$g++ -I./include -I./ -c ./src/gtest-all.cc,然后执行$ ar -rv libgtest.a gtest-all.o 生成静态库文件(这里这样做是因为,make,make install失败了啊啊啊),可以拷贝它到C++单元测试项目中去,以便使用。具体参见博客http://graybull.is-programmer.com/posts/37871.html

gmock如法炮制,不过轮到glog的时候,就有点没对了,因为步骤不一样妈蛋,glog不用做静态库,可是当我根据例程写好了代码,发现报错说找不到libglog.so.0。。妈蛋,这是啥有谁能告诉我。。仔细看看,说找不到共享文件啥的。。开始以为是我漏掉了创建glog静态库的步骤(之前两个形成的惯性思维),可是搜遍了google发现没有谁提到这一点。。然后打开/usr/local/include发现glog明明在里面啊,为嘛说找不到。。。最后在某小伙伴的博客发现,原来真的是路径没加到环境变量。。我一直以为/usr/local/include是默认的环境变量。。坑。。最后加进去,搞定~

总算今天把这三个工具都用例程跑起来了,明天开始探索下这三个工具都有些什么功能,虽然不用现在都记住,但是看过了有点映象,之后才知道该怎么去搜索啊~~~现在发现,就这两天,其实都对学习的过程记忆不是很清楚了。。所以一定要坚持每当获得新技能的时候写博客记录下来,这两天的最大收获其实不是配置好了各种环境,而是越来越熟练的使用命令行了偶哈哈哈,不自觉的都不喜欢开图形界面了,真是一个好的开始,睡觉!


推荐阅读
  • 本文分析了Wince程序内存和存储内存的分布及作用。Wince内存包括系统内存、对象存储和程序内存,其中系统内存占用了一部分SDRAM,而剩下的30M为程序内存和存储内存。对象存储是嵌入式wince操作系统中的一个新概念,常用于消费电子设备中。此外,文章还介绍了主电源和后备电池在操作系统中的作用。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 密码库LibTomCrypt学习记录——(2.29)分组密码算法的工作模式——KeyWrap密钥封装模式
    密钥封装(KeyWrap)密钥封装是为了对密钥进行保护,比如密钥存储在不太安全的存储设备中,或者密钥需要在网络中传输。早在2001年, ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • 本文介绍了使用jQuery实现图片预加载和等比例缩放的方法,同时提供了演示和相关代码。该方法可以重置图片的宽度和高度,并使图片在水平和垂直方向上居中显示。 ... [详细]
  • 本文介绍了一种求解最小权匹配问题的方法,使用了拆点和KM算法。通过将机器拆成多个点,表示加工的顺序,然后使用KM算法求解最小权匹配,得到最优解。文章给出了具体的代码实现,并提供了一篇题解作为参考。 ... [详细]
  • AtonepointIhadlookedatimplementingaclasstemplateinC++thatwouldsupportanEnumthatwo ... [详细]
  • vc写入mysql数据库无效_VC连接mysql数据库错误:libmysql.lib : fatal error LNK1113: invalid machine 解决方法...
    VC连接MySQL的配置过程在上一篇博文中,不过当你设置好,以为万事大吉的时候,运行却出现这个错误:libmysql.lib:fatalerrorLNK1113:inval ... [详细]
  • 基础浮点数是用机器上浮点数的本机双精度(64bit)表示的。提供大约17位的精度和范围从-308到308的指数。和C语言里面的double类型相同。Python不支持32bit的 ... [详细]
author-avatar
mobiledu2502907897
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有