我正在两个系统(Windows 7、cygwin、Lcov 1.10)上使用 LCOV 分析 C 代码。在一个系统上我从来没有遇到过问题,但在另一个系统上我得到了相同的代码:
$ lcov --directory CMakeFiles/UnitTest.dir/main --capture --output-file lcov.log
Capturing coverage data from CMakeFiles/UnitTest.dir/main
Found gcov version: 4.8.2
Scanning CMakeFiles/UnitTest.dir/main for .gcda files ...
Found 59 data files in CMakeFiles/UnitTest.dir/main
Processing analyze/analyze.c.gcda
[..]
Processing measure/measur.c.gcda
geninfo: Negative length at /usr/bin/geninfo line 2413.
在两个系统上,文件夹和文件是相同的(通过颠覆版本控制)。我猜可能某些路径可能存在问题。有人知道这是怎么回事吗?谢谢,领导
附录:我发现它有助于完全清理项目(删除所有 CMakeFiles 和 CMakeCache)并重新运行 lcov 命令。