2015-09-26 60 views
0

我有以下设置:Eclipse Mars CDT是否支持C++ 11线程?

  • 的Eclipse 4.5火星(建立ID:20150621-1200)
  • MinGW的201310与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未定义,整个类似乎变暗了。如果我在路径和符号中手动定义它,那么线程类就完全定义了。但是线程本身出现更多错误。我错过了什么吗?或者如果C++ 11线程在eclipse + MinGW上没有准备好?谢谢!

回答

1

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

我不确定是否有一个经典的MinGW版本, 但MinGW-w64可用。

您可以在number of ways中获得MinGW-w64安装,但“Mingw-builds”链接下的安装程序应足以让您开始使用(并可让您选择要使用的GCC版本)。

+0

谢谢。我要回到Visual Studio :) – thsieh