私の理解では、G ++ 4.7.2でのC++ 11サポートは素晴らしいものではなかった(C++コードをコンパイルしようとするたびに警告が表示される、おそらくこれらの警告には十分な理由がある)ので、更新しようと思った新しい何かに。
ダウンロードクォータが多くないので、ダウンロードする量を制限したいので、本当に必要な場合を除いて、Debian安定版(Wheezy)をアップグレードしたり、build-essentials
をアップグレードしたりすることは絶対に避けたいです。
私のaptitudeリポジトリに不必要な操作を行わずに、最新のGCCリリース(またはC++ 11を完全にサポートしているもの)をapt-get
するために使用できる簡単なコマンドはありますか?
Linuxのインストールプロセス全体でまだ苦労しているため、答えが既存のインストールを上書きする実行可能なコマンドの形式であった場合、私はそれを好みます。
パッケージ管理は、「一緒に所属する」一連のパッケージを提供します。あなたのディストリビューションに属していない新しいソフトウェアのセットをインストールするようにそれをだまそうとすることは、「うまくいかない」可能性が高いです。通常発生するのは、アップグレードする必要がある後続パッケージの巨大なデイジーチェーンを取得することです(たとえば、「gccには新しいglibcが必要で、新しいglibcには新しいbinutilsが必要で、新しいbinutilsはgdbを壊すので、更新する必要があります。 」など)。
インストールされている既存のツールをそのまま保持し、独自のバージョンのgcc、llvm + clang、gdb、lldb、またはそれ以降のバージョンが必要だと思われるものをビルドする方が良い解決策だと思います。ディストリビューションツールが/ usr/{bin、lib、include、...}にインストールされる/ usr/local/{bin、lib、include、...}にインストールされるため、通常、これは問題なく機能します。古いものを使用する必要がある場合(そして、それが事実であることが判明した場合、たとえば、残念ながらプロジェクトAをコンパイルできない、またはそれ自体も新しいGCCを取得した場合)-/ usr/bin /を使用しますgccまたは$ PATHを編集して、/ usr/localを使用しないようにします。
Fedora-16をインストールしていますが、gcc 4.8.2(3月末時点で最新)とclang 3.5を使用しています。システムに付属するデフォルトのコンパイラはgcc 4.6.3とclang 2.9です。 Clang 3.5にはC++ 11互換のコンパイラが必要なので、そのプロジェクトには4.7または4.8が必要です。正常に動作します。 (しかし、新しいgccとclangは古いgdbを破壊するため、シンボルが期待どおりに機能しないため、gdbを再構築するか、アップグレードする必要があります)。
私は不可能だと思います、または少なくとも、価値はありません。次のことができます。