g++
最新の安定版をインストールしようとしていますが、c++11
ホストがそれを見てyum install
最新バージョンだと思いましたが、最新ではなく、サポートレベルを超えています。
これを行う方法を注意深く見てきましたが、うまくいかないか、提案されたソリューションが何を言っているのかわかりません。
CentOSに4.7.2をインストールするg++
最も簡単な方法は何ですかc++11
5.9?
答え1
~からこの回答「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
更新する必要があります。$PATH
gcc
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
検討してください。gcc
ソースからビルド。
また、システムにインストールされているバージョンとは異なるバージョンでプログラムをコンパイルすると、さまざまなg++
問題が発生する可能性があります。libstdc++
喜び、この問題に対処することは、この回答の範囲外です。現在実行中のタスクをサポートするLinuxディストリビューションに移行することをお勧めします。
答え2
パッケージマネージャは優れていますが、(当然)最新バージョンのソフトウェアが含まれていないことがよくあります。 CentOSは、最新および最高の製品を保持するよりも信頼性(および幅広いテスト)に重点を置いたサーバー固有のディストリビューションです。解決策は次のとおりです。
分布の変更
他のディストリビューション(例:Arch Linux、Sabayon Linux、またはDebian "Sid")には、最新バージョンがはるかに高速に含まれています。ディストリビューションの変更も検討できます。
自分で作ってみてください
CentOSの使用に固執する場合、最良の方法は次のとおりです。ソースからgccを構築する。これはソースコードを取得することを意味します。システムに依存関係がすでに存在しています。(そうでない場合はCentOSパッケージマネージャから入手できると確信しています。)ソースコードをバイナリ実行可能ファイルにコンパイルしてからシステムに実行可能ファイルをインストールします。。
確かに最も簡単な方法ではありませんが、その過程でUnixについて多くを学びます。文書を何度も読んですべての内容を理解したことを確認し、不明な部分がある場合は質問してください。
辛抱強く
ある時点では、このgcc / g ++バージョン(または最新バージョン)がパッケージマネージャに含まれます。待つと(最大数ヶ月、私はCentOSのリリースサイクルについてよくわかりません)、最終的に欲しいものを手に入れます。
答え3
まあ、私はReidの答えについてコメントするにはあまりにも新しいです。これは私にとってうまくいきます。私が注目したい唯一のことは(おそらくReedの問題でしょうか?)インストールするには少し異なるコマンドラインを使用する必要があることです。
yum --enablerepo=testing-devtools-5 install devtoolset-1.0
(Reedの答えは--enablerepo=testing-devtools-6
ですが動作しません。)