Ошибка при компиляции кода потоковой передачи gcc 4.6.1 C ++ 0x в MacOSX Lion

При компиляции следующего кода:

#include <iostream>
#include <thread>

using namespace std;

void hello()
{
        cout << "Hello World!" << endl;
}

int main()
{
        cout << "starting" << endl;
        thread t(hello);
        t.join();
        cout << "ending" << endl;
        return 0;
}

с использованием:

$ g++-4.6.1 -std=c++0x -pthread threading.cpp

я получаю следующую ошибку:

threading.cc: In function ‘int main()’:
threading.cc:13:2: error: ‘thread’ was not declared in this scope
threading.cc:13:9: error: expected ‘;’ before ‘t’
threading.cc:14:2: error: ‘t’ was not declared in this scope

Это находится на MacOSX Lion с специально созданным gcc 4.6.1. Все остальные функции c ++ 0x, которые действительны для gcc 4.6, работают как шарм. Это ошибка MacOSX?

5
задан Per Arneng 5 October 2011 в 18:34
поделиться