我正在尝试在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'
知道导致问题的原因是什么,如何解决?
谢谢!
最佳答案
不幸的是,从OSX 10.6.8开始的pthreads实现缺少C++ 0x线程的某些必需功能。在配置过程中,gcc会检测到此情况并禁用对它们的支持。 std::thread in MacPorts gcc4.5上的更多详细信息
关于multithreading - Mac OS-X 10.5上的g++ 4.6 std::thread错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5668829/