1.下载并安装 Eclipse IDE for C/C++ Developers

https://eclipse.org/downloads/packages/eclipse-ide-cc-developers/lunasr1

2.下载并安装Cygwin

https://www.cygwin.com/

安装选择package的时候记得要选择gcc相关的所有

测试时使用到了boost,因此把boost相关的也装上

Devel下的包尽量都装一下。

3.下载并安装CDT gcov plugin

http://sourceforge.jp/projects/ginkgo/
→http://sourceforge.jp/projects/ginkgo/releases/32486

下载最新版,拷贝至Eclipse 的plugin目录下,重新启动Eclipse

4.部署并安装Google Test

https://code.google.com/p/googletest/
→https://code.google.com/p/googletest/downloads/list

下载最新版,然后参考以下的步骤

在合适的目录下将zip文件解压,在解压下的目录实行以下命令

(Cygwin环境)

> mkdir lib
> g++ -c -Iinclude -I. src/gtest-all.cc
> ar -rv lib/libgtest.a gtest-all.o

将解压目录下的[gtest-1.7.0/include]下的gtest目录拷贝到%CYGWIN64%/usr/include目录下

5.导入/新建工程

需要注意的是新建时的选项

Toolchain for Indexer Settings → Cygwin GCC

6.激活plugin

工程属性

Properties → C/C++ Builder → C Coverage → Activate nature[勾选]

Properties → C/C++ Builder → Setting → ToolSettings → Cygwin C Compiler → Miscellaneous → Other flags[追加-fprofile-arcs -ftest-coverage]

Properties → Setting → ToolSettings → Cygwin C Linker → Miscellaneous → Linker flags[追加-fprofile-arcs -ftest-coverage]

Properties → Setting → ToolSettings → Cygwin C Linker → Libraries → Libraries [gtest] Library[/cygdrive/c/cygwin64/lib]

*如果ToolSettings标签页没有显示,那么需要如下如下设定

Properties → C/C++ Builder → Builder Settings →  Generate Makefiles automatically[勾选]

7.执行文件后,生成.gcda .gcno文件

执行

lcov -c -d . -o test.info

生成info文件

执行

genhtml ../test.info

生成报告html

8.LCOV关于生成branch分支

/etc/lcovrc和~/.lcovrc文件以下的配置有效

# Include branch coverage data display (can be disabled by the
# --no-branch-coverage option of genhtml)
genhtml_branch_coverage = 1 # Specify if branch coverage data should be collected and processed.
lcov_branch_coverage = 1

google test测试不错的参考文档

http://www.cnblogs.com/coderzh/archive/2009/04/06/1426755.html

参考用到的网站

http://www.nminoru.jp/~nminoru/diary/2013/09.html

Eclipse C++,Cygwin 64,gcov,lcov 单体&覆盖率测试环境搭建笔记的更多相关文章

  1. Windows, Eclipse下开发Heritrix 3.1 (一)环境搭建

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  2. Ubuntu14.04(64位)下gcc-linaro-arm-linux-gnueabihf交叉编译环境搭建

    1. 下载 gcc-linaro-arm-linux-gnueabihf-4.9.tar.gz 下载地址参考:http://blog.csdn.net/lg1259156776/article/det ...

  3. Selenium终极自动化测试环境搭建(二):Selenium+Eclipse+Python

    前面举例了Selenium+Eclipse+Junit+TestNG自动化测试环境的搭建,在前一篇的基础上,下面再举例Selenium+Eclipse+Python测试环境搭建. 第一步:安装Pyth ...

  4. Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python

    Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python 前面举例了Selenium+Eclipse+Junit+TestNG自动化测试环境的搭建,在前一篇的基础上, ...

  5. 覆盖率测试工具gcov的前端工具_LCOV

    http://my.oschina.net/alphajay/blog/33725 1.Gcov是进行代码运行的覆盖率统计的工具,它随着gcc的发布一起发布的,它的使用也很简单,需要在编译和链接的时候 ...

  6. lcov收集覆盖率

    1.gcov 1.1 什么是gcov 首先我们要了解什么是gcov,gcov伴随gcc 发布.gcc编译加入-fprofile-arcs -ftest-coverage 参数生成二进制程序,执行测试用 ...

  7. GCOV&LCOV&GCOVR入门

    索引 一.概述 二.关于gcov的安装 三.代码覆盖率测试(以GCOV为例) 1.编译源代码 2.运行可执行程序 3.通过gcov指令生成代码覆盖率报告 四.生成更全面.直观的代码覆盖率报告 1.LC ...

  8. 【转】gcov lcov 覆盖c/c++项目入门

    原文: http://www.cnblogs.com/turtle-fly/archive/2013/01/09/2851474.html ------------------------------ ...

  9. 让32位Eclipse和64位Eclipse同时在64的Windows7上运行

    转自让32位Eclipse和64位Eclipse同时在64的Windows7上运行 参考这篇文章:http://wenku.baidu.com/view/57994c270066f5335a81214 ...

随机推荐

  1. 大型运输行业实战_day03_1_基于intellij idea的非maven spring+springMVC+mybatis搭建

    1.搭建标准web项目结构 搭建完成后的项目结构如图 1.创建普通web项目(略) 2.在lib中添加jar包 3.在resources中添加spring-config.xml主配置文件 <?x ...

  2. Java的indexOf返回的是第一个匹配到的字符的索引位置,substring(a,b)获得字符串的一部分内容

    背景:我要实现一个功能,需要匹配两个字符串是否有相同的字符,所以就写了下面一个小方法,定义两个字符串a和b,循环遍历 b,如果a中有b的子串就将匹配数量num+1   遇到的问题:开始判断字符串中是否 ...

  3. JPA报错, PersistenceException_Unable to build Hibernate SessionFactory

    javax.persistence.PersistenceException: [PersistenceUnit: TestJPA] Unable to build Hibernate Session ...

  4. 【校招面试 之 C/C++】第20题 C++ STL(二)之Vector

    1.vector的动态增长 当添加元素时,如果vector空间大小不足,则会以原大小的两倍另外配置一块较大的新空间,然后将原空间内容拷贝过来,在新空间的内容末尾添加元素,并释放原空间.vector的空 ...

  5. 240. Search a 2D Matrix II&&74. Search a 2D Matrix 都用不严格递增的方法

    一句话思路:从左下角开始找.复杂度是o(m+n). 一刷报错: 应该是一个while循环中有几个条件判断语句,而不是每个条件判断语句里去加while,很麻烦 数组越界了.从0开始,y的最大条件应该是& ...

  6. 利用redis完成自动补全搜索功能(二)

    前面介绍了自动完成的大致思路,现在把搜索次数的功能也结合上去.我采用的是hash表来做的,当然也可以在生成分词的时候,另外一个有序集合来维护排序, 然后2个有序集合取交集即可.这里介绍hash的方式来 ...

  7. Spring集成Redis使用注解

    转载:http://blog.csdn.net/u013725455/article/details/52129283 使用Maven项目,添加jar文件依赖: <project xmlns=& ...

  8. dede添加自定义函数

    在dede安装目录下的include/extend.func.php添加自定义函数: /** * 获取文章第一张图片 */ function getFirstImg($arcId) { global ...

  9. swagger ui js 错误:Failed to execute 'serializeToString' on 'XMLSerializer': parameter 1 is not of type 'Node'.

    经过排查,引发此错误的原因是,表中有一个字段名称为“NodeName”,应该是在前台xml解析时引发冲突所致.我的解决办法是: 修改列名,修改映射. 如下: [Column("NodeNam ...

  10. cmd里面怎么复制粘贴

    不要打开快速编辑模式,他只能复制粘贴cmd里面的内容 其实用标记即可. 右键选择标记,然后框选内容后右键就复制了 然后再右键粘贴就行了.