gcov 检测共享对象引用 __gcov_init 隐藏符号
Posted
技术标签:
【中文标题】gcov 检测共享对象引用 __gcov_init 隐藏符号【英文标题】:gcov instrumented shared object referencing __gcov_init hidden symbol 【发布时间】:2015-07-22 02:59:53 【问题描述】:我有一个主要的 linux 可执行文件,该可执行文件正在使用来自动态共享对象的一些函数。当我检测共享对象并尝试检测和编译主可执行文件时,它会给我一个如下所示的错误。
隐藏符号:/usr/lib/gcc/x86_64-linux-gnu/4.8/libgcov/libgcov.a(_gcov.o) 中的 __gcov_init
被 DSO 引用。
我的问题是,
[1] 这是否是因为共享库正在引用回主可执行文件?还是静态对象 libgcov.a ?
[2] 我该如何克服这个问题?在 Windows 中,无法将共享对象引用回主可执行文件,但在 linux 中,这种情况正在发生。
【问题讨论】:
【参考方案1】:我谈到的共享库没有检测和链接到“lgcov”。我们需要所有与之链接的库 [如果存在为检测构建而编译的单个目标文件] 和检测。
这解决了我的问题,并且我能够检测我的代码库。
【讨论】:
以上是关于gcov 检测共享对象引用 __gcov_init 隐藏符号的主要内容,如果未能解决你的问题,请参考以下文章