こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

gccのバージョンを下げる方法

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

投稿日時 - 2008-09-24 23:44:17

QNo.4354439

困ってます

質問者が選んだベストアンサー

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 では明示的なインクルードが必要です。
にある様に、必要なヘッダファイルを追加してみて下さい。

投稿日時 - 2008-09-25 06:41:06

お礼

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

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

投稿日時 - 2008-09-25 10:27:42

ANo.3

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

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

投稿日時 - 2008-09-25 09:54:03

お礼

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

投稿日時 - 2008-09-25 10:40:12

ANo.2

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

投稿日時 - 2008-09-25 00:01:17

お礼

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

投稿日時 - 2008-09-25 10:32:19

ANo.1

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

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

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

投稿日時 - 2008-09-24 23:51:29

お礼

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

投稿日時 - 2008-09-25 10:29:30

あなたにオススメの質問