ここでは3つのもの(コンパイラ、IDE、OS)がすべて重要です。
1)コンパイラ:GCC 4.6はすでにC++ 11の優れたサポートを受けており、<thread>
と<chrono>
ヘッダーを持っています。しかし、-std=c++0x
でコンパイルする必要があります。 IDEを使用する場合は、そのようなものを生成するように構成する必要があります(コンパイラオプションを確認してください)。
2)OSも重要です。<thread>
ヘッダーは、基本的にPOSIXの概念であるptherad、mutex and condition_variable。 Windowsの場合、condition_variableはネイティブでは0x600(Vista)から0x505(XP)までのネイティブ「同期イベントオブジェクト」を処理する必要がありますが、同等の意味を持ちます(boost::thread
はアダプタを実装しますが、GCC スレッドの実装全体をスキップするだけです。:より多くのOSを作成する場合は、それらのすべてに存在するライブラリ実装を使用しているかどうかを確認してください!)
3)IDEの重要性は次のとおりです。エディタはテキストを解析して補完情報や「構文エラーが発生しました」などを表示します。コンパイラに依存するのではなく、使用するパーサに依存します。 特に、GCCが-std = C++ 0Xで構成されていると、__GXX_EXPERIMENTAL_CXX0X__
シンボルの暗黙的な定義が想定されます。これはIDEによって自動的に引き継がれません(ヘッダーを正しく解析しません)。 IDE解析中に__GXX_EXPERIMENTAL_CXX0X__
のシンボルを「定義済み」と見なすことができます。
問題はポイント3に関連している可能性があります
どのコンパイラを使用していますか? g ++の場合、4.7リリースのC++ 11の機能のほとんどをサポートしています。 –
netbeansは** ide **です。コンパイラではありません。 –
コンパイラはg ++で、ideは7.1.1です – gandhigcpp