我正在使用gcov作为我的c ++项目的代码覆盖工具,在Ubuntu 12.04上使用gcc(目前是4.6.3,但很快就会是4.8),我得到的错误无法打开图形文件。这个错误是什么意思?我如何摆脱它,以便我可以看到我的代码覆盖率?
我已经看到这个问题的其他解决方案最流行的是使用clang(gcov: cannot open graph file)而不是gcc但我无法切换编译器,我必须使用gcc因此这不是一个可行的解决方案我。另外,关于gcov的文档说它应该与gcc一起使用。
另一种解决方案是修复配置文件(http://ubuntuforums.org/showthread.php?t=1547252),但我不确定该用户在说什么配置文件,所以如果这是我的问题,我也不知道如何解决它< / p>
我的.gcda和.gcno文件正在我的obj目录中生成
除了进入我的顶级目录,我编译我的代码和做gcov * .c我也试过 gcov -o directory / to / obj * .c 和 gcov -o directory / to / obj * .gcda 和 gcov -o directory / to / obj * .gcno
但这些解决方案都不起作用;我仍然得到无法打开图形文件的错误。
任何帮助或建议都将不胜感激!
答案 0 :(得分:1)
上述问题是由于缺少.gcda and .gcno file in the directory where your source code present
。
所以我的建议是第一份one .gcda and .gcno file of particular .c file in your source code where your .c resides then execute gcov filename.c
。
如果你得到报道,那么尝试将所有.gcda和.gcno软链接到源代码,如果不想从obj目录复制那么你说的问题将被解决