gcov 检测共享对象引用 __gcov_init 隐藏符号

gcov instrumented shared object referencing __gcov_init hidden symbol

我有一个主要的 linux 可执行文件,该可执行文件正在使用动态共享对象中的一些函数。当我检测共享对象并尝试检测和编译主要可执行文件时,它给我一个如下所示的错误。

隐藏符号:/usr/lib/gcc/x86_64-linux-gnu/4.8/libgcov/libgcov.a(_gcov.o)中的__gcov_init被DSO引用。

我的问题是,

[1] 发生这种情况是否正是因为共享库引用回主可执行文件?或静态对象 libgcov.a ?

[2] 我该如何克服这个问题?在 windows 中,共享对象无法引用回主可执行文件,但在 linux 中,这种情况正在发生。

我谈到的共享库没有与 'lgcov' 进行检测和链接。我们需要所有那些链接的库[如果存在一个为检测构建编译的目标文件]和检测。

这解决了我的问题,我能够检测我的代码库。