मैंने संकलित & मैकपोर्ट का उपयोग कर gcc4.4 स्थापित किया।std :: थ्रेड त्रुटि (std का सदस्य नहीं धागा)
जब मैं का उपयोग कर संकलन करने की कोशिश -> जी ++ जी -Wall -ansi -pthread -std = C++ 0x main.cpp ...:
#include <thread>
...
std::thread t(handle);
t.join();
....
संकलक रिटर्न:
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
लेकिन std::cout <<...
ठीक संकलित करता है ..
क्या कोई मेरी मदद कर सकता है?
आप धागा शीर्षक में देखें, तो ऐसा लगता है कि वर्ग केवल परिभाषित (_GLIBCXX_HAS_GTHREADS) #if मौजूद '&& परिभाषित (_GLIBCXX_USE_C99_STDINT_TR1)' । मुझे यकीन नहीं है कि, परिभाषित करने के लिए आपको क्या करना होगा। – UncleBens
@UncleBens: मेरा मानना है कि उनको सीधे परिभाषित किया जाता है -pthread और -std = C++ 0x। Omitting -pthread एक seg गलती का कारण बनता है: http://gcc.gnu.org/ml/gcc-help/2009-04/msg00208.html –
बस नवीनतम अपडेट: मैकपॉर्ट्स जीसीसी 4.7.0 std :: thread का समर्थन/संकलित करता है, जबकि 4.6.3 नहीं है। –