Eclipse Mars CDT是否支持C ++ 11线程?

时间:2015-09-26 22:03:57

标签: eclipse multithreading c++11 mingw

我有以下设置:

  • Eclipse Mars 4.5(构建ID:20150621-1200)
  • MinGW 201310 with g ++ 4.8.1
  • Windows 10

我跟着几个帖子在Project属性中添加了std = c ++ 11并确保__cplusplus是201103L。结果如下:

  • 我可以看到std :: map编译并运行正常。
  • 如果我#include,则没有语法错误。但是main()中的线程声明显示错误“无法解析类型线程”。然后我打开位于c:/MinGW/lib/gcc/mingw32/4.8.1/include/c ++ / thread中的线程头文件,由于_GLIBCXX_HAS_GTHREADS未定义,似乎整个类都变暗了。如果我在路径和符号中手动定义它,则完全定义线程类。但是线程本身出现了更多错误。我错过了什么吗?或者如果在eclipse + MinGW上没有准备好C ++ 11线程?谢谢!

1 个答案:

答案 0 :(得分:2)

要获得对std::thread的支持,您需要一个配备posix线程模型支持的MinGW构建。

我不确定是否有#34;经典" MinGW使用该功能构建, 但它可以与MinGW-W64一起使用。

您可以在number of ways中安装MinGW-w64,但安装程序位于" Mingw-builds"链接应该足以让你开始(并允许你选择你想要的GCC版本。)