2012-12-06 13 views
6

Provo a utilizzare la funzione std :: this_thread :: sleep_for() ma ho ricevuto l'errore
error: 'std::this_thread' has not been declared.
La flag _GLIBCXX_USE_NANOSLEEP inclusa.
Che altro è necessario per forzare il suo funzionamento?
MinGW ==> gcc version 4.7.2 (GCC)errore: 'std :: this_thread' non è stato dichiarato

SSCCE:

#include<thread> 

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

riga di comando:

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

risultato di compilazione:

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

Vi siete '#include '? – kennytm

+0

Duplicato di http://stackoverflow.com/questions/4438084/stdthis-threadsleep-for-and-gcc? –

+0

scusate, si, io uso quello incluso – OlegG

risposta

7

Usa MinGW con i thread POSIX, Luke.

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

+0

grazie! Il compilatore essendo MinGW ha fatto la differenza. – asgs

+0

Non capisco assolutamente questa risposta. Il richiedente è * già * usando MinGW. È MinGW che sta causando questo problema in primo luogo. Inoltre, questo non è il link a MinGW. Dovrebbe essere: https://sourceforge.net/projects/mingw/. – Boann

Problemi correlati