mag*_*hen 3 code-coverage gcov
我最近使用gcov来收集代码覆盖率信息.gcov与可执行应用程序:)兼容,但是当我尝试加载.so文件时,我收到此错误:未知符号__gcov_merge_add.
然后我搜索谷歌,有人说--lgcov添加到链接标志(LDFLAGS),我确实添加了这个选项,它没有用.我也尝试在链接标志中的--coverage选项,无法摆脱这个错误.
有人可以帮助解决这个问题吗?
谢谢.
我也遇到了这个问题,但后来解决了这个问题.我只在CPPFLAGS和LDFLAGS中使用--coverage选项.我认为应该为您处理编译问题.
共享对象仍然似乎没有生成.gcda文件,我不知道如何解决这些问题.就像你说的,它适用于可执行文件,但共享对象似乎有一些问题.
编辑: 显然,gcov现在支持共享对象.我昨天做了大量的研究,发现了相互矛盾的答案,所以我邮寄了gcc-help列表.请参阅此处的主题:http://gcc.gnu.org/ml/gcc-help/2010-09/msg00130.html.我还没有根据答案解决我的问题,但是当我这样做时我会回复.
编辑2: 共享对象可以使用gcov(或者不是 - 使用gcc的--cover选项).这里还有另一篇详细信息:gcov:从共享库生成.gcda输出?.它还引用了上面的相同线程.