2011-05-05 155 views
3

虽然编译我的项目与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)

错误:

hidden symbol `__gcov_init' in /usr/lib/gcc/x86_64-redhat-linux/4.1.2/libgcov.a(_gcov.o) is referenced by DSO /usr/bin/ld: final link failed: Nonrepresentable section on output collect2: ld returned 1 exit status

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

回答

4

我一直在使用这些步骤能够在自己的代码来解决这个问题:

  1. 使清洁(去除所有的.o我和lib文件)。
  2. 确保每个源文件都有正确的选项(-fprofile-arcs -ftest-coverage)。
  3. 确保将每个共享库的源文件编译成指定-lgcov
  4. 确保我将可执行文件链接到-lgcov。

另请参阅this answerthis blog post

+0

是的,我解决了连接我的共享库与gcov的问题。 – Tarod 2015-05-22 12:21:18

相关问题