2011-05-05 34 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

相關問題