compilé & gcc4.4 instalado utilizando macports.std :: error de subproceso (subproceso no miembro de std)
Cuando intento compilar usando -> g ++ -g -Wall -ansi -pthread -std = C++ 0x main.cpp ...:
#include <thread>
...
std::thread t(handle);
t.join();
....
el compilador devuelve:
cserver.cpp: In member function 'int CServer::run()':
cserver.cpp:48: error: 'thread' is not a member of 'std'
cserver.cpp:48: error: expected ';' before 't'
cserver.cpp:49: error: 't' was not declared in this scope
Pero std::cout <<...
compila bien ...
¿Alguien me puede ayudar?
Si nos fijamos en la cabecera del hilo, parece que la clase sólo existe '#if definidos (_GLIBCXX_HAS_GTHREADS) && definido (_GLIBCXX_USE_C99_STDINT_TR1)' . Aunque no estoy seguro, qué tendrías que hacer para tener esos definidos. – UncleBens
@UncleBens: creo que están directamente definidos por -pthread y -std = C++ 0x. Omitir -pthread provoca un error de segmento: http://gcc.gnu.org/ml/gcc-help/2009-04/msg00208.html –
Solo la última actualización: MacPorts gcc 4.7.0 admite/compila std :: thread, mientras que 4.6.3 no. –