私はC++ 11標準を使って書かれたいくつかのコードを持っていますが、私たちのg ++バージョンは4.4.6です。 11をサポートする必要があります(4.3以降)。-std = G ++ 4.4.6で認識されないC++ 11フラグ
しかしフラグをコンパイルしようとしている時に、 "-std = C++ 11 -std = gnuの++ 11"、私はエラー-std = C++でコンパイル
cc1plus: error: unrecognized command line option "-std=c++11"
cc1plus: error: unrecognized command line option "-std=gnu++11"
の繰り返しを取得0Xは、
DeviceInfo.cpp:22: error: expected initializer before ‘:’ token
としてエラーコードのこの行に対応する生成:
for (cl::Platform& plat : platforms)
この構文のC++ 11の特定のビットで? (それは私に似ていないが、すべてこのコードは、コンパイラで提供されるので、動作するはずの例として与えられている。
すべてのヘルプを?
'C++ 11'フラグを取得するには、GCC> = 4.7が必要です。 4.4が古すぎる場合は、AFAIKの範囲ベースで、 '-std = C++ 0x'を指定しても、範囲ベースにはなりません。少なくとも、コンパイラのマニュアルページを読んでください。サポートされているオプションはそこにリストされています。 – Mat