gcov最终链接失败

时间:2011-05-05 15:56:36

标签: gcc gcov

在使用gcov支持编译我的项目时,我面临以下错误

以下是编译时的标志信息

编译器标志:

CXXFLAGS="-Wno-deprecated -g -ggdb -fprofile-arcs -ftest-coverage -fPIC"

链接器选项:

LINK_CMD="gcc -fprofile-arcs -fPIC"

以下是版本信息:

gcc版本:

  

gcc version 4.1.2 20080704(Red Hat 4.1.2-44)

gcov版本:

  

gcov(GCC)4.1.2 20080704(Red Hat 4.1.2-44)

错误:

  DSO引用/usr/lib/gcc/x86_64-redhat-linux/4.1.2/libgcov.a(_gcov.o)中的

隐藏符号`__gcov_init'   / usr / bin / ld:最终链接失败:输出中不可表示的部分   collect2:ld返回1退出状态

你能帮我摆脱这个问题吗?

1 个答案:

答案 0 :(得分:5)

我已经能够使用以下步骤在我自己的代码中解决此问题:

  1. make clean(删除我的所有.o和lib文件)。
  2. 确保每个源文件都有正确的选项(-fprofile-arcs -ftest-coverage)。
  3. 确保每个共享库将源文件编译为指定-lgcov
  4. 确保我将可执行文件与-lgcov链接。
  5. 另请参阅this answerthis blog post