2012-12-06 93 views
6

std :: this_thread :: sleep_for()関数を使用しようとしましたが、エラーが発生しました
error: 'std::this_thread' has not been declared
フラグ_GLIBCXX_USE_NANOSLEEPが含まれています。
強制的に動作させるには何が必要ですか?
MinGWの==> gccのバージョン4.7.2(GCC)エラー: 'std :: this_thread'が宣言されていません

SSCCE:

#include<thread> 

int main() { 
    std::this_thread::sleep_for(std::chrono::seconds(3)); 
} 

コマンドライン:コンパイルの

g++ -D_GLIBCXX_USE_NANOSLEEP -std=gnu++0x ssce.cpp -o ssce.exe 

結果:

ssce.cpp: In function 'int main()': 
ssce.cpp:4:8: error: 'std::this_thread' has not been declared 
+2

あなたが '' を#includeがありますか? – kennytm

+0

重複したhttp://stackoverflow.com/questions/4438084/stdthis-threadsleep-for-and-gcc? –

+0

申し訳ありません、はい、私はそれを使用します – OlegG

答えて

7

使用MinGWのPOSIXスレッドでは、Luke。

http://sourceforge.net/projects/mingwbuilds/

+0

ありがとう! MinGWであるコンパイラがその違いを生み出しました。 – asgs

+0

私はこの答えを全く理解していません。質問者はMinGWを使っている*既に*です。最初にこの問題を引き起こしているのはMinGWです。また、それはMinGWへのリンクではありません。 https://sourceforge.net/projects/mingw/にする必要があります。 – Boann

関連する問題