1

最近、Macbook ProにMacportsをインストールし、gcc47ポートをインストールしました。を追加alias g++="g++-mp-4.7"して.profile使用していることを確認した後g++-4.7、C++11を使用するプロジェクトの1つを構築しようとしました。ただし、次のエラーが発生します。

cc1plus: error: unrecognized command line option "-std=c++11"

MacportsがC++をサポートするgccを構築したので、これは奇妙だと思います。したがって、C++11は問題なく動作するはずです。下から出力を貼り付けましたg++ -v。なぜ有効な選択肢としてg++-mp-4.7認識されないのかについて、何か考えはありますか?-std=c++11

COLLECT_GCC=g++-mp-4.7
COLLECT_LTO_WRAPPER=/opt/local/libexec/gcc/x86_64-apple-darwin12/4.7.1/lto-wrapper
Target: x86_64-apple-darwin12
Configured with: ../gcc-4.7.1/configure --prefix=/opt/local --build=x86_64-apple-darwin12 --enable-languages=c,c++,objc,obj-c++,lto,fortran,java --libdir=/opt/local/lib/gcc47 --includedir=/opt/local/include/gcc47 --infodir=/opt/local/share/info --mandir=/opt/local/share/man --datarootdir=/opt/local/share/gcc-4.7 --with-libiconv-prefix=/opt/local --with-local-prefix=/opt/local --with-system-zlib --disable-nls --program-suffix=-mp-4.7 --with-gxx-include-dir=/opt/local/include/gcc47/c++/ --with-gmp=/opt/local --with-mpfr=/opt/local --with-mpc=/opt/local --with-ppl=/opt/local --with-cloog=/opt/local --enable-cloog-backend=isl --enable-stage1-checking --disable-multilib --enable-lto --with-as=/opt/local/bin/as --with-ld=/opt/local/bin/ld --with-ar=/opt/local/bin/ar --with-bugurl=https://trac.macports.org/newticket --disable-ppl-version-check --with-pkgversion='MacPorts gcc47 4.7.1_2'
Thread model: posix
gcc version 4.7.1 (MacPorts gcc47 4.7.1_2) 
4

2 に答える 2

3

今後の参考のために、gcc_select をインストールすると、次のことが可能になります。

 sudo port select gcc mp-gcc47
 hash gcc

これにより、Macports がインストールされた gcc がセットアップされます。Xcode のデフォルトにリセットする必要がある場合は、'none' で再実行してください。

編集: Xcode 4.4.x には適切な Clang ビルドが付属しています。それをインストールしてから、[設定] -> [ダウンロード] からコマンド ライン ツールを選択する場合は、[インストール] をクリックします。

次のように clang を実行します。

clang++ -std=c++11 -stdlib=libc++ ...

mp-gcc47 がインストールされていない場合は、最初にこれを行う必要があることに注意してください。

 sudo port install mp-gcc47

利用可能な gcc ポートの完全なリストを取得するには:

 sudo port list | grep gcc | less
于 2012-08-12T10:40:40.130 に答える
1

私の問題は、GNU Make が別のシェルでコマンドを実行するためalias g++="g++-mp-4.7"、 によって実行されるコマンドに影響を与えないことmakeです。

于 2012-08-11T23:18:15.080 に答える