2015-09-26 80 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