4

gcov サポートを使用してプロジェクトをコンパイルしているときに、次のエラーに直面しています

以下は、コンパイル中に持っているフラグ情報です

コンパイラ フラグ:

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

リンカー オプション:

LINK_CMD="gcc -fprofile-arcs -fPIC"

バージョン情報は次のとおりです。

gcc バージョン:

gcc バージョン 4.1.2 20080704 (Red Hat 4.1.2-44)

gcov バージョン:

gcov (GCC) 4.1.2 20080704 (レッドハット 4.1.2-44)

エラー:

/usr/lib/gcc/x86_64-redhat-linux/4.1.2/libgcov.a(_gcov.o) の隠しシンボル `__gcov_init' が DSO /usr/bin/ld によって参照されています: 最終的なリンクに失敗しました: 出力の表現できないセクションcollect2: ld が 1 つの終了ステータスを返しました

この問題から逃れるために私を助けてくれませんか?

4

1 に答える 1

6

次の手順を使用して、自分のコードでこの問題を解決することができました。

  1. きれいにします(私の.oファイルとlibファイルをすべて削除します)。
  2. すべてのソースファイルに正しいオプション(-fprofile-arcs -ftest-coverage)があることを確認してください。
  3. すべての共有ライブラリがソースファイルが指定された-lgcovにコンパイルされていることを確認します
  4. 実行可能ファイルを-lgcovにリンクしていることを確認してください。

この回答このブログ投稿も参照してください。

于 2012-02-13T15:49:47.830 に答える