2011-10-02 9 views
8

アップルgccとGNU gccの違いは何ですか? Apple gccは標準のスーパーセットですか?アップルg ++/gcc

私のOSXでG ++バージョン情報が表示さ:

$ g++ --version 
i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00) 

C++ 11の最新の機能のいくつかはthisあたりとしてはgcc 4.3/4.4です。アップグレード可能なApple gccの新しいバージョンがありますか?もしそうなら、私はそれをどのようにすることができますか?私はXcode 4.1を持っています

答えて

6

まあ、この場合のAppleは、g ++のLLVMバックエンドをデフォルトのg ++​​として使用しています。 Appleはまた、LLVM用の素晴らしい名前のclangとclang ++フロントエンドをインストールします。しかし、GCCの新しいブランチをインストールするのを止めることは絶対にありません。 MacPortsには、最大4.6までのパッケージがあります。 gccのmanページで "APPLE ONLY"を探すと、Appleブランチの外では利用できないものを見ることができます。

6

既にllvm-gccclang言及以外に、アップルが提供GCC-4.2(LLVMバックエンドせず)は​​、Xcodeの4.1 /usr/bin/gcc-4.2でもあります。しかし、Apple提供のバージョンを/usr/binに上書きしないでください。 3つの機能のすべてが、マルチアーチのサポートと、バニラGNUのディストリビューションにはないマルチabiサポートを含み、多くのサードパーティのパッケージはOS Xのこれらの機能に依存しています。MacPortsやソースから何かをインストールすると、別のパス(/opt/local/binまたは/usr/local/binなど)にインストールしてください。 PATHまたは環境変数を使用して、使用するコンパイラを管理します。

2

macportを使用して新しいバージョンをインストールすることができます。 hereをダウンロードできます。あなたはmacportでGCCをインストールしたら、あなたはあなたのビルドにユーザー定義の設定を追加することによって、Xcodeのでそれを使用することができます。

- Go to the build setting of your project 
- Click on the add build setting button 
- Choose user-defined setting 
- Name it CC 
- In the value field, put the path of the gcc version installed by macport. 
1

間違いなくAppleのGCCのブランチに存在するが、GNU GCCでblocksでないことの一つ。

関連する問題