我有一个C项目与自己的独立制作链(又名外部构build)平台是Windows 7与Eclipse霓虹灯3。
对于那个项目,我已经包含GTest,并为每个源文件一个相应的Gtest_UnitTest.cc。 UnitTest自带额外的生产链。 UnitTest和所有的作品都像一个魅力。
现在我想包括一个覆盖报告。 我添加了-ftest-coverage -fprofile-arcs到编译器标志和-lgcov到linke。 对于每个* .o编译我得到* .gcno。 运行构buildexe后,我得到每个* .oa * .gcda。 我也在eclipse中获得了一个不错的gcov报告。
到现在为止还挺好!
不起作用的是代码高亮。 而日食没有调用gcov积累所有的gcda和gcno。 (有没有一个debugging控制台可以读取这样的调用?)如果我尝试在eclipse中打开一个* .gcda或* .gcno,eclipse会询问我创build的二进制文件。
当我指定我的可执行文件,我得到一个错误,它不是一个ELF文件。 日食有点挑剔,想要一个Linux * .out文件? 当我通过命令行手动调用gcov时,我得到每个* .oa * .gcov结果文件。 但我无法设法说服eclipse以任何方式使用它来突出(un)覆盖的代码行…我试图将一些生成的* gcov文件复制到* .c文件所在的文件夹中。 没有魔术发生…
也许是我的外部构build的结果(我将复制项目,稍后尝试内部构build)
也许它的源文件分发结果如下: 也许它是一个在日食中的错误,因为我读了一些关于它的东西,但是大多数的错误都是从日月食的时候…不能想象它们仍然是未定义的…
我究竟做错了什么?
我已经阅读了有关Linux的lcov,但我的search没有发现Windows的简单解决scheme…有什么解决scheme,我的用例?
或者是最终的解决scheme,继续前进,并获得视觉工作室?
相关: Eclipse gcov在代码中缺less突出 显示在eclipse-cpp-luna-SR1中没有源代码覆盖颜色突出显示静态库项目
我有这方面的更新:
最后的解决方案非常简单,将c / c ++ autotools添加到项目中。 在导航器中,右键单击项目的顶部节点 – >新建 – >转换为Autotools。
之后,需要重新定义构建选项。 (在我的情况下,使用外部构建链。通过转换,现有的构建设置可能会丢失。)
转换后也应该显示构建树。 一次构建项目,以便创建unittest.exe并配置配置文件配置
分析后的结果应该如下所示: