William Huang
William Huang

Reputation: 145

How to use std::thread of C++ 11 under Cygwin GCC 4.7.2

I've been trying to compile a multithread hello-world program under Cygwin using the newly introduced C++ 11 std::thread feature without success. I compiled and installed GCC 4.7.2 by myself, and the same code works without any problems under Linux with the same version of GCC. The first error I got was that the compiler did not recognize the -pthread flag. After researching on it for a while I noticed someone said on Cygwin this flag should be -lthread. I made the change and that error was gone, but another series of errors occur telling me thread is not member of std. I wonder if it's caused by the wrong configuration of the compiler during installation, or std::thread is simply not supported under Cygwin?

Upvotes: 7

Views: 3626

Answers (1)

grundprinzip
grundprinzip

Reputation: 2491

This looks like you did not compile the program with the appropriate standard library flag. If you want to compile for C++11 you should use:

g++ --std=c++0x -o ...

The --std flag sets the appropriate language compatibility level. If this does not help, please post the error messages you got as a source listing.

Upvotes: -1

Related Questions