我正在尝试使用Gcovr生成一个C程序结果的HTML文件。
我已经安装了gcov(通过MinGW),Python,easy_stall和gcovr。
已将C:\MinGW\bin
,C:\Python33
和C:\Python\Scripts
添加到Windows PATH。
现在我遇到的问题(在Windows命令行中):
1。 gcovr命令
在使用c:\Python33\Scripts
命令从python gcovr
执行之前,无法从任何目录中找到/执行gcovr。
临时修复,将gcovr
重命名为gcovr.py
?但这听起来不是正确的解决方案。
2。执行gcovr
我打电话时没有结果:
c:\Python33\Scripts>python gcovr -r "d:\somepath\Debug"
------------------------------------------------------------------------------
File Lines Exec Cover Missing
------------------------------------------------------------------------------
------------------------------------------------------------------------------
TOTAL 0 0 --%
------------------------------------------------------------------------------
但是gcov给出了正确的结果。
D:\somepath\Debug>gcov some_file.gcda
File '../some_file.c'
Lines executed:21.43% of 14
Creating 'some_file.c.gcov'
我需要做些什么才能获得正确的结果?
答案 0 :(得分:0)
尝试在没有-r
选项的情况下运行相同的命令,即:
c:\Python33\Scripts>python gcovr "d:\somepath\Debug"
答案 1 :(得分:0)
我遇到了同样的问题。我确实用以下方法解决了这个问题。
转到项目的根(主)目录。
以表格格式生成输出, 在命令提示符下,命令在
中生成coverage1)表格格式
"python C:\Python27\Scripts\gcovr -r . --object-directory <path to *.gcno *.gcda file>"
2) XML格式
"python C:\Python27\Scripts\gcovr -r . --object-directory <path to *.gcno *.gcda file> -x -o <desired_name.xml>"
3) HTML格式
"python C:\Python27\Scripts\gcovr -r . --object-directory <path to *.gcno *.gcda file> –-html -o <desired_name.html>"
答案 2 :(得分:0)
这篇文章可能会解决您的问题。
答案 3 :(得分:0)
有同样的问题。
问题是您的源文件不在&#34;以下&#34;根文件夹,默认情况下gcovr会过滤它。
如果你打电话
python gcovr -r "d:\somepath\Debug" --verbose
你会注意到这一行
Filtering coverage data for file ../some_file.c
一个简单的解决方法是添加过滤器选项:
python gcovr -r "d:\somepath\Debug" --verbose -f .*
来自gcovr帮助:
-f FILTER, - filter = FILTER 仅保留与此常规数据匹配的数据文件 表达
gcovr文档未提及的是,如果您不提供过滤器,它将使用根路径作为默认过滤器。
希望它会对某人有所帮助。