g++
と-std=c++11
またはc++0x
フラグを使用してコンパイルしようとしています。
しかし、私はこのエラーを受け取ります
cc1plus: error: unrecognized command line option "-std=c++11"
g ++ --version
g++ (GCC) 4.1.2 20080704 (Red Hat 4.1.2-54)
Copyright (C) 2006 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.
G ++バージョンから見ると、ひどく更新する必要があります。 C++ 11はG ++ 4.3以降でのみ利用可能です。最新バージョンは4.7です。
G ++ 4.7より前のバージョンでは、-std=c++0x
を使用する必要があります。最新バージョンでは、-std=c++11
を使用できます。
gccウェブサイト からの引用:
C++ 11機能は、GCCのSubversionリポジトリのトランクおよびGCC 4.3以降で「メインライン」GCCコンパイラの一部として利用できます。 C++ 0xサポートを有効にするには、コマンドラインパラメータ-std = c ++ 0xをg ++コマンドラインに追加します。または、C++ 0x拡張機能に加えてGNU拡張機能を有効にするには、g ++コマンドラインに-std = gnu ++ 0xを追加します。 GCC 4.7以降では、-std = c ++ 11および-std = gnu ++ 11もサポートしています。
そのため、おそらく-std=c++11
をサポートしないg ++のバージョンを使用します。代わりに-std=c++0x
を試してください。
C++ 11機能の可用性は、バージョン4.3以降のみです。
これを試してみてください
g++-4.4 -std=c++0x or g++-4.7 -std=c++0x