gcov无法打开图形文件

时间:2015-12-22 02:26:51

标签: gcc travis-ci gcov

我在尝试运行gcov作为Travis CI构建的一部分时收到以下错误:

$ gcov src/bgrep.c
bgrep.gcno:cannot open graph file

我的.travis.yml

language: c
compiler: gcc
sudo: false

before_script:
  - uname -a
  - printenv
  - gcov --version

script:
  - scons coverage=1
  - ls -l src/
  - test/run_test.py
  - ls -l src/
  - gcov src/bgrep.c
  - ls -l src/
  - ls -l

after_success:
  - bash <(curl -s https://codecov.io/bash)

我可以在我的Fedora机器上运行确切的命令序列(sconstest/run_test.pygcov src/bgrep.c),gcov按预期生成grep.gcov

Travis正在使用gcov (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3。您可以看到example build log here

我(或特拉维斯)做错了什么?

1 个答案:

答案 0 :(得分:1)

我和gcov和travis有同样的问题。似乎gcov确实要求* .gcda和* .gcno文件必须与* .c文件位于同一目录中。另外,必须给出-o选项,然后指向同一目录......

所以,我有文件夹src /中的源文件和build / coverage /中的二进制文件。首先,我尝试使用&#39; gcov -o build / coverage / src / *。c&#39;这没用。第二次尝试是将* .gc *文件复制到src /并执行&#39; gcov src / *。c&#39;这也没用。它最终与&#39; gcov -o src / src / *。c&#39;。

一起使用。