gpt4 book ai didi

code-coverage - gcov 可以处理共享对象吗?

转载 作者:行者123 更新时间:2023-12-04 06:02:30 24 4
gpt4 key购买 nike

我最近使用 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: producing .gcda output from shared library? .它还引用了上面的相同线程。

关于code-coverage - gcov 可以处理共享对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3709699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com