web-dev-qa-db-ja.com

GCCの複数のバージョンを使用する方法

Glibc 2.4(gcc 4.1以降)を必要とする新しいアプリケーションがあります。実行しているマシンにはgcc 3.4.6があります。アップグレードできません。アプリケーションはこのマシンで実行する必要があります。

Gcc 4.1をインストールしましたが、コンパイル時間に関しては、3.4.6のすべてのインクルードなどを使用しています。

どうすればこれを回避できますか?

このアプリケーションだけに4.1を使用するための提案はありますか?

35
Alex

GNU GCC FAQ。]の「複数バージョンのGCCをインストールする方法」 here を参照してください。

ホワイトペーパー here もあります。

25
nzpcmad

やってみました gcc-select?そうでない場合は、INCLUDE_PATHおよびLIBRARY_PATHシェルで。

3
Konrad Rudolph

ubuntuの場合、それは非常に簡単です

Sudo add-apt-repository ppa:ubuntu-toolchain-r/test

Sudo apt-get update

そして、例えばgccバージョン6をインストールします

Sudo apt-get install gcc-6

2
i716

update-alternativesは、複数のgccバージョンを持つための非常に良い方法です。

http://ubuntuguide.net/how-to-install-and-setup-gcc-4-1g4-1-in-ubuntu-10-0410-1

2
endian

おそらく古いgccをまだ実行しています。 gccからそのバージョンへのシンボリックリンクを作成してみてください。

ln -s gcc-4.1 gcc

シンボリックリンクだけでなく、そこに置かれた古い「gcc」バイナリを削除しないように注意してください。独自のgccバージョンを再コンパイルできる場合、最も安全なのは、gccの構成時に別のプレフィックスを使用することです。たとえば、--prefix=/home/jojo/usr/gcc(私はsvn-trunkのgcc-4.4でそれを行いましたが、うまくいきました)。

正しいgccバージョンを実行するだけであることに注意してください。 gccを更新すると、glibcも自動的に更新されません。これは、システムの他の部分と深く結びついた別個のパッケージです。別のglibcバージョンをインストールするときは注意してください。