最新の安定版g++
とc++11
をインストールしようとしています。私のホストはyum install
を介してそれを行い、それが最新のものであると考えましたが、最新ではなく、現在、これはサポートのレベルを超えていると言っています。
私はこれをどのように行うかをすべて調べましたが、何も機能しないか、提案された解決策が何を言っているのかわかりません。
CentOSにg++
4.7.2およびc++11
をインストールする最も簡単な方法は何ですか5.9?
この回答 から「CentOS [6.x]にgcc 4.7をインストールする」まで、CentOS 5.xのg++
4.7と必要なツールとライブラリを取得する最も簡単な方法は、 devtools
パッケージ:
cd /etc/yum.repos.d
wget http://people.centos.org/tru/devtools/devtools.repo
yum --enablerepo=testing-devtools-6 install devtoolset-1.0
g++
を手動で実行しているため(make
ではなく)、シェルが新しいgcc
を使用するように$PATH
変数を更新する必要があります、g++
などのバイナリ:
export PATH=/opt/centos/devtoolset-1.0/root/usr/bin/:$PATH
この時点で、g++
はバージョン4.7.0である必要があります。
$ g++ --version
g++ (GCC) 4.7.0 20120507 (Red Hat 4.7.0-5)
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
この方法でgcc
および関連するツールとライブラリをインストールする場合、リポジトリのメンテナーがパッケージを最新の状態に保つことに依存していることに注意してください。
gcc
を最新の状態に保つことに興味がある場合は、 building gcc
from source を検討することをお勧めします。
また、システムにインストールされているものとは異なるバージョンのg++
およびlibstdc++
でプログラムをコンパイルすると、あらゆる種類の Fun が発生する可能性があり、これはこの回答の範囲を超えています。 。あなたがやっていることをサポートするLinuxディストリビューションに移行する価値があるかもしれません。
パッケージマネージャーは優れていますが、(当然のことながら)通常、最新バージョンのソフトウェアは含まれていません。 CentOSは、特にサーバーに焦点を当てたディストリビューションであり、最新かつ最も輝かしいものよりも安定性(および広範なテスト)を優先します。ここにあなたの解決策があります:
ディストリビューションを変更
Arch Linux、Sabayon Linux、Debian "Sid"などの他のディストリビューションには、最新バージョンがはるかに高速に含まれています。ディストリビューションを変更することを検討してください。
自分で構築する
CentOSに悩まされている場合、最善の策は ソースからgccをビルド することです。これは、ソースコードを取得し、 依存関係が既にシステムに存在している (そうでない場合は、CentOSパッケージマネージャーから取得できると確信しています)を確認し、ソースをバイナリ実行可能ファイルにコンパイルすることを意味します、および システムに実行可能ファイルをインストール 。
これは確かに最も簡単な方法ではありませんが、その過程でUnixについて多くを学ぶことができます。必ず数回ドキュメントを読んで、すべてを理解していることを確認し、具体的な内容が不明な場合は質問してください。
我慢して
ある時点で、このバージョン(またはそれ以降)のgcc/g ++がパッケージマネージャーに入ります。 (数か月まで、私はCentOSのリリースサイクルに精通していません)待つと、最終的に必要なものが得られます。
うーん、私はリードの答えにコメントするには新しすぎます。それは私にはうまくいきました。注意したいのは、これはReedの場合でしょうか?わずかに異なるコマンドラインでインストールする必要がありました。
yum --enablerepo=testing-devtools-5 install devtoolset-1.0
(リードの回答には--enablerepo=testing-devtools-6
、機能しませんでした。)