dポイントプレゼントキャンペーン実施中!

Fedoraでgcc 4.3.0-8を使っています。
訳あって、バージョンを3.4.6に下げたいのですが、
どのようにすればいいでしょうか。
よろしくお願いします。

A 回答 (4件)

gccのメジャーバージョンNoが異なる場合は、作成される


実行モジュールの互換性が無い場合が有ります。
止めた方が良いでしょう。
過去の例では、古いバージョンのgccが別名称で用意され
ていた事がありますので、該当する物が無いか探すのも
一つの方法です。
#Fedoreでは常にgccの最新版を使用してるので、一部の
#プログラムで対応しきれない物が出てくる場合が時々
#有り、旧版が同梱されている事もあります。

もしくは
http://unicus.jp/wp/archives/39
yamcha 0.33 が fedora 9 (gcc 4.3) で make できない、そんなとき
にある様に
>つまるところ、gcc 4.2 以前と gcc 4.3 の違いに起因するようです。

>gcc 4.2 以前では、string.h や stdlib.h のようなヘッダ
>ファイルは明示的にインクルードしていなくても、そのヘッダ
>ファイルでプロトタイプ宣言されている関数を呼び出すことが
>できました。

>gcc 4.3 では明示的なインクルードが必要です。
にある様に、必要なヘッダファイルを追加してみて下さい。
    • good
    • 0
この回答へのお礼

ありがとうございました。
これです。
全て解決しました。

修正ヶ所が非常に多かったので、やはりバージョンを下げたかったのですが、、ANo.1さんのアドバイスもあり、1個1個直して、ようはくmakeが通りました。

お礼日時:2008/09/25 10:27

そ~いうときは


「どんな訳があるのか」
をきちんと書くのが質問者のマナーってものだろう.
確か C なら「適切な宣言さえあればヘッダファイルを #include しなくてもいい」はずだけど>#3.
逆に C++ では (std 名前空間を使う関係上) #include しないとだめだったような気がする.
    • good
    • 0
この回答へのお礼

マナーですか...失礼いたしました。
この質問の1つ前(QNo.4354113)の仕切り直しだったので、省いてしまいました。
けっきょく#3さんの回答により解決しました。
ありがとうございました。

お礼日時:2008/09/25 10:40

QNo.4354113の問題は、バージョンを下げても解決しないと思いますが...

    • good
    • 0
この回答へのお礼

ありがとうございました。
gcc 4.2以下だと、includeしなくても勝手にうまくやってくれる(おせっかい!)のに、4.3ではそうでなくなったため、問題が起こっていることがわかりました。
ということで、嫌なことですが、けっきょく本件はバージョンを下げると解決しました。

お礼日時:2008/09/25 10:32

ん~ バージョンを下げるより 現行のバージョンでmakeのやり方についてのドキュメントを探した方がいいかもしれません



Linuxの場合 make config XXX とかでいろんなプラットフォームに対応するように作られていることが多かったと思います
# 最近は Windowsばかりなので 指定の構文が多少違うかも知れませんが

もともと 何をコンパイルしたいのかを明示した方が的確な回答が得られると思いますよ
    • good
    • 0
この回答へのお礼

なるほど、いいアドバイスをありがとうございます。

お礼日時:2008/09/25 10:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!