当我运行gcov然后输出显示87%覆盖...然后我想使用gcovr,但它确实无法工作。我试图从许多目录运行,有很多选项。在某些情况下,我会覆盖一些文件而不是我想要查看的文件。
我的项目包含3个文件:
src\main.c
src\makefile
tst\test1.c
tst\test2.c
tst\makefile
tst\obj\all
目标文件,gcno,gcda存储在这里...... build\build.bat
制作项目(窗口)我应该更改目录结构吗?如何查看我应该使用哪个版本的gcov? 我想查看main.c的覆盖范围,但只获取test1.c和test2.c的覆盖范围,而这些覆盖范围与覆盖范围无关!
在测试文件旁边,我在C:\ compiler中包含目录,这些目录不是覆盖范围所必需的。
我试过Python27:
python c:\python27\scripts\gcovr -g --object-directory=. -r ..\..\..\ --html --html-details -o program.html -v
我试过Python36:
c:\python36\scripts\gcovr --use-gcov-files -v --object-dir=.
但永远不会覆盖我的待测设备。只有没有gcovr的gcov才有效,所以文件必须正确。
答案 0 :(得分:0)
尝试添加-f''选项。 gcovr中的bug在我们构建树时出来了
答案 1 :(得分:0)
我在Windows中运行GCOVR时遇到了一些问题,特别是关于\而不是/并使用冒号字符:在C:\ file.c这个名称中
当你使用\它需要使用其中的2个\并且在gcovr中的某个位置它会更改为\\或\\\ ...这样做不顺利,在某些时候它会尝试查找源的根目录文件减去2个路径。但它找不到这个,例如 \ a \ b \ c \ d在\ a \ b \ c \ d中找不到它。所以,请查看:[github.com/barthoukes/gcovr] [1]
该解决方案仍然非常脏,但它适用于我在Windows中的项目。我认为gcovr人也在讨论这个问题。
您只需要文件:gcovr