Ich kompilierte & installiert gcc4.4 mit Macports.Std :: Thread Fehler (Thread nicht Mitglied der Std)
Wenn ich versuche, mit zu kompilieren -> g ++ -g -Wall -ansi -pthread -std = C++ 0x main.cpp ...:
#include <thread>
...
std::thread t(handle);
t.join();
....
Der Compiler liefert:
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
Aber std::cout <<...
kompiliert fein ..
Kann mir jemand helfen?
Wenn Sie im Thread-Header aussehen, scheint es, dass die Klasse existiert nur '#if defined (_GLIBCXX_HAS_GTHREADS) && definiert (_GLIBCXX_USE_C99_STDINT_TR1)' . Ich bin mir nicht sicher, was Sie tun müssen, um diese zu definieren. – UncleBens
@UncleBens: Ich glaube, diese sind direkt definiert durch -Pthread und -std = C++ 0x. Das Auslassen von -pthread verursacht einen seg-Fehler: http://gcc.gnu.org/ml/gcc-help/2009-04/msg00208.html –
Nur das neueste Update: MacPorts gcc 4.7.0 unterstützt/kompiliert std :: thread, während 4.6.3 nicht. –