使用mingw和g ++ 4.7.2使std :: thread/mutex在Win7下工作

gif*_*gkp 22 c++ windows mingw g++ c++11


问候,

我最近离开了我的unix避难所来测试一个据称是跨平台的网络库,却发现mingw不喜欢被提供给c ++ 11的东西.

我认为我缺少必需的标题,因为Win7没有包含c ++ 11支持.

它与VS2012编译得很好,
但g ++拒绝.

error: 'thread' in namespace 'std' does not name a type
error: 'mutex' in namespace 'std' does not name a type
Run Code Online (Sandbox Code Playgroud)

问题是:

如何获取c ++ 11头文件/库的副本,即<thread>,而不使用VS2012安装提供的文件.

PS#1我试过mingw-get update但它仍然找不到<thread>
PS#2我也在使用-std = c ++ 11


真诚的,
Chris.

gif*_*gkp 16

这些MinGW-w64构建支持C++ 11线程,原子操作等.

  1. MinGW-builds现已集成到MinGW-w64项目中
  2. MinGW-builds(项目已经过时,不会更新,请参见上文)
  3. MinGW-w64 rubenvb 64位32位版本

请注意,MinGW-w64不仅仅是64位,而是支持它,不像旧的MinGW(.org),它缺少相当多的新Vista + API,当然还有64位支持.

  • @Thomas 32位:http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/rubenvb/ (2认同)

Ale*_*lev 6

请看这里:https: //github.com/meganz/mingw-std-threads 这是std :: thread和其他的较轻的本机实现,不使用pthreads的win32端口.