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.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…