我一直在尝试使用新引入的 C++ 11 std::thread 功能在 Cygwin 下编译多线程 hello-world 程序,但没有成功。我自己编译安装了GCC 4.7.2,同样的代码在同版本GCC的Linux下运行没有任何问题。我遇到的第一个错误是编译器无法识别 -pthread 标志。研究了一段时间后,我注意到有人在 Cygwin 上说这个标志应该是 -lthread。我进行了更改并且错误消失了,但是出现了另一系列错误,告诉我线程不是 std 的成员。请问是安装时编译器配置错误导致的,还是Cygwin下根本不支持std::thread?
最佳答案
这看起来您没有使用适当的标准库标志编译程序。如果你想为 C++11 编译,你应该使用:
g++ --std=c++0x -o ...
--std
标志设置适当的语言兼容性级别。如果这没有帮助,请将您收到的错误消息作为源列表发布。
关于c++ - 如何在Cygwin GCC 4.7.2下使用C++ 11的std::thread,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13432432/