我试图在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'
知道导致问题的原因以及如何解决? 谢谢!
答案 0 :(得分:2)
不幸的是,从OSX 10.6.8开始的pthreads实现缺少C ++ 0x线程的一些必需功能。在配置期间,gcc会检测到此情况并禁用对它们的支持。更多详情请见std::thread in MacPorts gcc4.5