При компиляции следующего кода:
#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 ошибка?