- ベストアンサー
gccのアップグレードについて
以下のHPにあるように、gcc3.3から3.4にアップグレードするのは、ちょっとややこしそうです。 http://www.gentoo.org/doc/ja/gcc-upgrading.xml gccのバイナリだけを置き換えると、何がよくないのでしょうか。ビルドの時、gcc本体の他にもなにかを使っているのでしょうか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>gcc本体の他にライブラリが必要ということは、gccが必要とするライブラリはダイナミックリンクライブラリということなのでしょうか。 file /usr/bin/gcc とかするとダイナミックかどうかわかります。 仮に、gcc cpp cc1 ld等がスタティックリンクされていても、コンパイルしたプログラムをリンクするならその際にライブラリが必要です。 >ライブラリの他に、例えばどういったファイルを利用しているのでしょうか。 プリプロセッサ(cpp)やCコンパイラ本体(cc1)等のプログラムや、ヘッダファイル。ヘッダファイルとライブラリは対になります。
その他の回答 (2)
- Tacosan
- ベストアンサー率23% (3656/15482)
その「専用ページ」にちゃんと「C++ ABI が変更になった」って書いてあるやんか. ABI が変更になったということは必然的にライブラリも変更しなきゃならんし, そうすると場合によっては当該ライブラリを使う全てのプログラムを更新しなきゃならんかもしれない. 単に「gcc を更新する」だけなら簡単なんだけど, ライブラリまで更新されちゃうから面倒.
お礼
ご回答ありがとうございます。ABIの意味がわからず、調べて理解したつもりでも、ライブラリが変更になることまでは思いつきませんでした。もっと勉強します。ありがとうございました。
ライブラリなど多数のファイルを入れ替えるためです
お礼
早速のご回答、ありがとうございました。 gcc本体は、ライブラリなどをリンクした状態で作られたものと思っていたので、そういうことは考え付きませんでした。 gcc本体の他にライブラリが必要ということは、gccが必要とするライブラリはダイナミックリンクライブラリということなのでしょうか。 あと、ライブラリ「など」と書かれていますが、ライブラリの他に、例えばどういったファイルを利用しているのでしょうか。 よろしければ、ご教示下さい。
お礼
とてもわかりやすいご回答ありがとうございます。コンパイラのことをまだまだ知らないということがわかりました。もっと勉強したいと思います。