ここでは、3 つのこと (コンパイラ、IDE、および OS) がすべて重要です。
1) コンパイラ: GCC 4.6 は既に C++11 を適切にサポートしており、ヘッダー<thread>
とヘッダーがあり<chrono>
ます。ただし、でコンパイルする必要があります-std=c++0x
。IDE を使用する場合は、そのような make を生成するように構成する必要があります (そのため、コンパイラ オプションを確認してください)。
2) OS も重要です。<thread>
ヘッダーは基本的に、ptherad、mutex、および condition_variable の POSIX 概念のラッパーのセットです。Windows では、condition_variable は 0x600 (Vista) からのみネイティブに存在します。0x505 (XP) までは、ネイティブの「同期 EVENT オブジェクト」を処理する必要があります。これは同等である可能性があります。異なるセマンティクスがあります (boost::thread
アダプターを実装しますが、GCCは単にスキップします)。スレッドの実装全体: したがって... より多くの OS 用に書いている場合は、それらすべてに存在するライブラリの実装を使用しているかどうかを確認してください!)
3) IDE にも重要性があります。エディターがテキストを解析して補完情報を表示する方法、および「入力中の構文エラー」などは、コンパイラーに依存するのではなく、使用するパーサーに依存します。特に、GCC を -std=c++0X で構成すると__GXX_EXPERIMENTAL_CXX0X__
、IDE によって自動的に想定されないシンボルの暗黙的な定義が想定されます (ヘッダーを誤って解析する)。__GXX_EXPERIMENTAL_CXX0X__
解析中に「定義」されたシンボル。
あなたの問題はおそらくポイント3に関連しています