2011-04-14 1 views
2


Mac OS X 10.5에서 gcc4.6의 스레드 라이브러리를 테스트하려고했습니다. macports에 의해 gcc4.6을 컴파일하고 설치했습니다. 그러나 가장 간단한 동시 hello world 프로그램이 실패했습니다. 코드는 같은 수 있습니다 :g ++ 4.6 Mac OS X 10.5에서 std :: thread 오류

#include <iostream> 
#include <thread> 

void sayhello() {std::cout << "Hello\n";} 
int main(){ 
    std::thread t(sayhello); 
    t.join(); 
} 

내가 컴파일 시도하고 나는 오류가 발생했습니다 g++ -Wall -std=c++0x test.cpp 사용 :

'thread' is not a member of 'std'

문제를 야기하고 내가 그것을 어떻게 해결할 수 있습니다 어떤 생각? 감사합니다.

+0

나는 이것에 대해서도 관심이있다; Apple이 '자신들의'4.2 컴파일러를 수정 한 내용은 이후 버전을 빌드 할 때 MacPorts (또는 다른 사람)에서 사용할 수 없거나 사용하지 못한다고 말할 수 있습니다. 누구든지 다른 것을 알고 있다면, 그것에 대해 듣고 싶습니다. – trojanfoe

답변

2

OSX 10.6.8에서의 pthreads 구현에는 C++ 0x 스레드에 필요한 몇 가지 기능이 없습니다. configure 과정에서 gcc가이를 감지하고 지원을 비활성화합니다. std::thread in MacPorts gcc4.5