4

可能重复:
如何在 MinGW 中启用实验性 C++0x 并发功能?

TDM-GCC 抱怨error: 'thread' is not a member of 'std'

建造时g++ test.cpp -std=c++0x

4

2 回答 2

4

这来自论坛对话

问题:c++0x 支持的级别和linux gcc 版本一样吗?

几乎但不完全。目前对 std::thread 的支持依赖于 libstdc++ 中的 POSIX 线程,这至少需要更改配置。我还没试过。大多数其他 C++0x 功能应该可以工作。

我能得到的最接近记录响应的是关于 C++11 支持的 libstdc++ 文档,它指出在编写类时对类的支持thread是“部分的”。看来,如果对主线 GCC 的支持还没有完成,那么 TDM 端口中的支持充其量只是部分支持,最坏的情况是不存在。

这篇 MinGW 邮件列表帖子在对目前情况的分析方面更加精确。

我建议boost::thread现在使用,以便在几个月后轻松切换。

于 2011-09-09T17:54:08.400 回答
2

TDM GCC 目前不支持std::thread开箱即用。我的(商业)Just::Threadstd::thread为多个编译器和平台提供了一个实现,包括 Windows 上的 TDM GCC 4.5.2。

于 2011-09-09T20:40:41.697 回答