8

gcc 3.2.3 と binutils 2.18 を使用して共有ライブラリをリンクするのに問題があります。ライブラリをリンクしようとすると、次のエラーが発生します。

.gnu.linkonce.t_... セクション .rodata で参照: 破棄されたセクション .gnu.linkonce.t... で定義

私はこれについてかなりの量のグーグル検索を行いましたが、ほとんどの場所は、それが binutils 2.17 で導入され、その後 2.18.50 で修正された回帰であることを示しているようですが、問題の特定の回避策がないかどうか誰かが知っているかどうか興味がありましたbinutils と gcc に触れる必要があります。

ありがとう。

4

2 に答える 2

6

これは、システムが gcc を別の binutils と一致させないという奇妙な結果であることが判明しました。/usr/bin/gcc が使用され (3.2.3)、/usr/local/bin がパスの /usr/bin の前にあるため、/usr/local/bin/ld が使用されていました。/usr/bin がパスの先頭になるように切り替えたところ、適切な /usr/bin/ld が呼び出され (binutils 2.14)、これで問題が解決したようです。

于 2009-08-07T15:41:29.280 に答える