lcov分别geninfo无法读取gcda文件

lcov respectively geninfo cannot read gcda files

我正在尝试使用 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

截图如下: 可以看出,有一个 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

我阅读了帮助,它并没有提供我需要的帮助。

根据 lcov 联机帮助页 -d 用于指定要使用的目录。

所以试试

-d .

我 运行 lcov 在 Linux 上是这样的:

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

当您打开 shell 以查看您当前是否在同一目录中时,我的 setup.Try 运行ning pwd 可以正常工作。

我找到了问题的答案。

在 windows 机器上 运行 lcov.

有两种可能性
  1. 在 cygwin 文件夹中有一个批处理脚本调用 "Cygwin.bat"。 运行 这个脚本。 当脚本打开时,键入以下行:

lcov -c -d /cygdrive/c/path where the gcda files are located -o /cygdrive/c/path where the output folder is located/lcov.info

同样是用 genhtml 创建 html 文件。

  1. 可以打开windowscmd.exe。在此之后,您需要添加以下行:

sh -c -l "lcov -c -d /cygdrive/c/path where the gcda files are located -o /cygdrive/c/path where the output folder is located/lcov.info"

很重要

sh -c -l

中的 lcov 命令

" "

否则 lcov 和 genhtml 将无法工作。