lcov分别geninfo无法读取gcda文件

时间:2019-03-08 17:11:55

标签: gcov lcov

我正在尝试使用cygwin和bash shell在本地Windows计算机上设置lcov。我安装了从此处下载的最新版本的lcov:lcov at sourceforge

当我调用特定的gcda文件时,就会得到输出。 电话是:lcov -c -d FileName.gcda -o outputfile.info

据我通常阅读,lcov应该能够遍历文件夹中的所有gcda文件。我要求轮换所有gcda文件的要求是:

lcov -c -d . -o outputfile.info

使用上面的代码,我得到以下输出:

Capturing coverage data from .
Found gcov version 6.4.0
Scanning . for .gcda files ...
geninfo: WARNING: no .gcda files found in . - skipping!
Finished .info-file creation

以下是屏幕截图: lcov failure 可以看到,有一个CanAdapter.gcda和CanAdapter.gcno,但是使用geninfo进行上述配置会导致失败。

当我尝试拨打这样的电话时:

lcove -c -d *.gcda -o outputfile.info

我得到以下答案:

lcov: Extra parameter found: 'FileName2.gcda'
Use lcov --help to get usage information

我阅读了帮助,但并没有我所需要的帮助。

2 个答案:

答案 0 :(得分:0)

我在Linux上像这样运行lcov:

  

lcov --c --directory。 --output-file main.info

这在我的设置中很好用。打开外壳程序时尝试运行pwd以查看当前是否在同一目录中。

答案 1 :(得分:0)

我找到了解决问题的方法。

在Windows计算机上,有两种方法可以运行lcov。

  1. 在cygwin文件夹中,有一个名为“ Cygwin.bat”的批处理脚本。 运行此脚本。 打开脚本后,键入以下行:
  

lcov -c -d / cygdrive / c /位于gcda文件的路径-o / cygdrive / c /位于输出文件夹的路径/lcov.info

与genhtml创建html文件相同。

  1. 您可以打开Windows cmd.exe。之后,您需要添加以下行:
  

sh -c -l“ lcov -c -d / cygdrive / c / path,gcda文件位于-o / cygdrive / c / path,输出文件夹位于/lcov.info”

重要的是

  

sh -c -l <​​/ p>

中的lcov命令
  

“”

否则,lcov和genhtml将无法正常工作。