I am using GCC 4.5.0 with the Eclipse IDE (if that matters) on Windows via MinGW.
I'm using the -std=c++0x
flag.
I find that _GLIBCXX_HAS_GTHREADS
still isn't defined, so thread
for me still isn't a member of namespace std
. -- or perhaps it is something else.
What does one do to get C++11 threading support with GCC?
P.S. It doesn't recognize the -pthread
flag. I read in a question elsewhere on this site that this works.
Edit: Stupid me: pthread
is a library, not an option. It's installed, gcc can find the header, but still no cigar.
Works fine on Linux (g++ -std=c++0x -lpthread
with no additional defines).
However, this thread on Cygwin mailing list suggests that, at least as of 4.4, _GLIBCXX_HAS_GTHREADS was disabled by an autoconf test when building libstdc++ because pthread implementation of cygwin is missing pthread_mutex_timedlock. Perhaps MinGW has the same problem.
Also, this thread on comp.lang.c++.moderated says the same thing. Not supported by the library.
What does one do to get C++0x threading support with GCC?
Use Boost? Seriously http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html claims threads aren't complete even in mainline head so it isn't going to be in any current release.
The native Windows builds of gcc do not support the new C++0x/C++11 thread library.
The (commercial) Just::Thread library adds support to the TDM port of gcc 4.5.2 for Windows, as well as MSVC.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With