2017-01-29 5 views
0

私はgccの新しいバージョンをビルドしてインストールしました。これを使っていくつかのプログラムをビルドします。私は正しい手順が不明です。別のGCCビルドを使用してコンパイル/リンクする方法

私の計画では、

  • 使用update-alternativesは、標準のgccと私のgcc-5.3.0を切り替えると奴隷としてg++c++g77を追加することです。 (または標準の場所ですべてのgcc関連の実行ファイルへのシンボリックリンクを作成するための他の方法 - 。例/usr/local/bin)(?とgcc-5.3.0/libexec
  • gcc-5.3.0/libを追加LD_LIBRARY_PATH

私は必要な任意の他のものへ何をする?それらのプログラムをコンパイル/リンクして実行するとき?

+0

これはaskubuntuの質問です。ubuntuの値はyourdistroと同じです。 –

+0

これはubuntuとは関係がなく、非標準のgccビルドとコンパイルして正しくリンクする方法を尋ねるだけです。私はSL6(CentOS6)にある – xcorat

+0

私はubuntu == yourdistro私は言ったか? update-alternativesはディストリビューション固有のものです。 –

答えて

3

ほとんどのビルドツールと環境では、使用されているコンパイラを再定義できます。たとえば、一般的なMakefileでは、Cコードには変数CCが使用され、C++コードにはCXXが使用されます。あなたはいつもコンパイルするためのmakeを実行する場合は、あなたの代わりに

env CXX='/opt/gcc-5.3.0/bin/g++ -Wl,-rpath=/opt/gcc-5.3.0/lib' make 

のようなものを使用することができ、通常、同じCコンパイラ、リンカーのドライバーのために使用されているので、これはまた、使用されるリンカーを変更します。

詳細は実装方法によって異なりますが、これはメインパスを示しています。

CC、CXXのこのような再定義は、autotoolsと同様のツールの束からもconfigureに影響します。

コンパイルした製品で使用されているビルドツールを詳細に指定する必要があります。

+0

は '-rpath'が何であったかを知らなかった!ありがとう! – xcorat

関連する問題