Mac OS-X 10.5上的g ++ 4.6 std :: thread错误

时间:2011-04-14 19:49:11

标签: multithreading macos gcc g++ macports


我试图在mac OS-X 10.5上测试gcc4.6的线程库。 我成功编译并通过macports安装了gcc4.6。 但最简单的并发hello world程序失败了。代码如下:

#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'

知道导致问题的原因以及如何解决? 谢谢!

1 个答案:

答案 0 :(得分:2)

不幸的是,从OSX 10.6.8开始的pthreads实现缺少C ++ 0x线程的一些必需功能。在配置期间,gcc会检测到此情况并禁用对它们的支持。更多详情请见std::thread in MacPorts gcc4.5