我可以在Windows上使用std :: thread吗?

时间:2011-09-09 17:46:00

标签: windows mingw c++11 tdm-mingw

  

可能重复:
  How to enable experimental C++0x concurrency features in MinGW?

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

使用g++ test.cpp -std=c++0x

进行构建时

2 个答案:

答案 0 :(得分:4)

这来自a forum conversation

  
    

问题:c ++ 0x支持的级别与linux gcc中的级别相同     版本

  
     

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

我最接近记录的回复是the libstdc++ documentation on C++11 support,其中指出在撰写本文时,对thread类的支持是“部分”。看来,如果主线GCC的支持尚未完成,那么TDM端口的支持最多是部分支持,最坏的情况是不存在。

This MinGW mailing list post在分析现状时更加准确。

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

答案 1 :(得分:2)

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