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

标签 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'
知道导致问题的原因是什么,如何解决?
谢谢!

最佳答案

不幸的是,从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/

相关文章:

macos - 在 Mac 上,我在哪里可以找到 git-http-backend?

CGPathAddArc 与 CGPathAddArcToPoint

c - 如何在 c 中乘以 32 位整数

C++ setTimeout函数?

使用多个线程计算给定间隔的总和

Java,设计模式 : Multiple event sources and One event Handler

macos - ld:在带有 gcc/clang -static 标志的 OSX 10.6 上找不到 -lcrt0.o 的库

c - Flex 和 Bison 在使用结构体指针作为 union 类型时会出现问题

c - 初始化程序不是常量...我知道,但我觉得这应该可以,为什么不行

java - HTTP 请求处理程序连接重置错误