GCov和GCC,* .da文件未创建

时间:2010-10-04 17:25:54

标签: gcov

我正在使用GCC版本3.3.6。当我使用-fprofile-arcs-ftest-coverage检测目标文件时,会创建相应的*.bb*.bbg文件。

然后将目标文件链接到一个静态库libfoo.a,其中包含:
ar rcs libfoo.a foo1.o foo2.o

最后,将一系列静态库链接在一起以创建我的可执行文件: gcc -fprofile-arcs -o foo.o <static libraries linked all>

现在,当我运行图像时,* .da文件没有被创建。我缺少一步吗?有没有人有任何其他建议?

感谢。

1 个答案:

答案 0 :(得分:3)

可执行文件需要与gcov库链接:

gcc -fprofile-arcs -o foo.o <static libraries linked all> -lgcov

编辑:从gcc 4.1.2开始,--coverage选项可用作-fprofile-arcs -ftest-coverage(编译时)和-lgcov的同义词(当链接)。

此外,值得注意的是,文件是在与编译相同的目录中创建的。该目录应该可以从执行环境访问。最新版本的gcc(4-1)引入了环境变量来调整目标目录:GCOV_PREFIX和GCOV_PREFIX_STRIP,请参阅gcc doc的cross-profiling section