2012-12-06 374 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線程,盧克。

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

+0

謝謝! MinGW的編譯器做出了改變。 – asgs

+0

我完全不明白這個答案。提問者*已經*使用MinGW。 MinGW首先會造成這個問題。另外,這不是與MinGW的鏈接。它應該是:https://sourceforge.net/projects/mingw/。 – Boann