MinGW 4.8.1 C++11 thread support

c++11, g++, gcc, mingw

Solution

If I understand well, std threading is still not supported on mingw, but some mingw-w64 builds support it. Fortunately, you can still build 32-bit apps using this version of mingw.

Here is the link for the builds.

Problem

I downloaded the version of MinGW from the official website: http://sourceforge.net/projects/mingw/files/ and installed it on my Windows 7 machine. Running `g++ --version` gives me `g++.exe (GCC) 4.8.1` and I believe GCC 4.8.1 has support for C++11 features, including threads. Running `g++ -std=c++11 main.cpp` successfully compiles the following program. ``` //main.cpp #include <memory> int main() { std::unique_ptr<int> a(new int); return 0; } ``` But running `g++ -std=c++11 main.cpp` on the following program: ``` //main.cpp #include <mutex> int main() { std::mutex myMutex; return 0; } ``` gives errors: ``` main.cpp: In function `int main()`: main.cpp:5:5: error: 'mutex' is not a member of 'std' std::mutex myMutex; ^ main.cpp:5:16: error: expected ';' before 'myMutex' std::mutex myMutex; ^ ``` as if `<mutex>` is not supported. The compiler does not complain about `#include <mutex>` so I have no idea why I'm getting this error.

Original source

Related problems