当我试图运行gcov作为我的Travis CI构建的一部分时,我得到了以下错误:
$ gcov src/bgrep.c
bgrep.gcno:cannot open graph filelanguage: 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机器上运行精确的命令序列(scons、test/run_test.py、gcov src/bgrep.c),gcov会像预期的那样生成grep.gcov。
特拉维斯用的是gcov (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3。您可以看到一个example build log here。
我(或Travis)做错了什么?
发布于 2016-10-20 23:46:19
我和gcov和travis也有同样的问题。似乎gcov确实要求*.gcda和*.gcno文件必须与*.c文件位于同一目录中。此外,还必须提供-o选项,该选项将指向相同的目录...
因此,我将源文件放在src/文件夹中,将二进制文件放在build/coverage/中。首先,我尝试使用'gcov -o build/coverage/ src/*.c‘,但没有起作用。第二次尝试是将*.gc*文件复制到src/并执行'gcov src/*.c‘,这也不起作用。它最终与'gcov -o src/ src/*.c‘一起工作。
https://stackoverflow.com/questions/34407576
复制相似问题