私はgcc 4.4.6に付属のcentOS 6.3を実行しており、次のようにgcc 4.6.3をインストールしました。このガイドライン。
しかし、入力すると、gcc -v
まだgcc 4.4が私が使用しているバージョンであることがわかります。最新バージョンは/opt/gcc-4.6.3にあります。
コマンドを実行するときにmake
最新のgccを使用するにはパスを指定する必要がありますか?それではどうすればいいですか?それとも古いバージョンを新しいバージョンに完全に置き換えることができますか?よろしくお願いします。
答え1
make
環境変数を設定して、Cコンパイルにどのプログラムを使用するかを知ることができ、CC
C CXX
++でも同様です。 (デフォルトのルールを使用するか、少なくともコピーしているとします。gccの明示的な実行可能ファイル名でMakefileを作成すると機能しません。)そうでない場合は、次のように入力します.profile
。
export CC=/opt/gcc-4.6.3/<path to cc> CXX=/opt/gcc-4.6.3/<path to g++>
PATHに/opt/gcc-4.6.3/bin(実行可能ファイルがある場合)を追加するだけです。
答え2
まず、riciの答えのおかげで彼の方法はうまくいきましたが、ちょうど私にもっと合う方法を見つけました。
まず、問題が発生した場合に備えて、以前のgccを別の名前で保存しました。
mv /usr/bin/gcc /usr/bin/gcc_old
mv /usr/bin/g++ /usr/bin/g++_old
その後、新しいビルドをgccにリンクし、いくつかの重要な内容をコピーしました。
ln -s -f /opt/gcc-4.6.3/bin/gcc /usr/bin/gcc
ln -s -f /opt/gcc-4.6.3/bin/g++ /usr/bin/g++
cp /opt/gcc-4.6.3/lib64/libstdc++.so.6.0.16 /usr/lib64/.
mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bak
ln -s -f /usr/lib64/libstdc++.so.6.0.16 /usr/lib64/libstdc++.so.6
助けてくれたヒップホップのFacebook gitチームのJacky Weiに感謝します。