2015-09-03 80 views
1

我試圖在Windows上運行future類的test code,但我遇到了幾個問題。首先,我嘗試使用代碼::塊的默認編譯器,在我的情況是MinGW的4.7.1獲取錯誤哪些Windows編譯器支持<future>類

error: variable 'std::future<bool> fut' has initializer but incomplete type| 

正如this question建議似乎

沒有人提供了必要的代碼,以使C++ 11線程功能可以在Windows上工作。

由於問題是從2012年起,我嘗試了更多最近的編譯器。我沒有使用MinGW 4.8.1和MinGW 5.1

沒有運氣令人驚訝的是,當我嘗試使用Qt Creator的默認編譯器時,它在我的情況下是MinGW 4.9.1,它工作正常。

這怎麼可能?

回答

3

MinGW != MinGW

多個GCC換的Windows項目存在,像MinGWMinGWMinGW,具有不同的發展狀態(最後一個支持最)。

未來的對象是併發的一部分得到了重視,GCC 4.8和MSVC 11

Ç:: B採用TDM-GCC,Qt Creator的MinGW64 - 這就是問題所在。

+0

漂亮勇敢的帖子:)有一些MinGW的愛好者在叉子上很漂亮。 –