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

4
我正在使用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 现在,当我运行该程序时,*.da文件没有被创建。我是否漏掉了某个步骤?还有其他建议吗?
谢谢。
1个回答

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文档中的交叉分析部分

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接