可能的重复:
上
C 11线程在Windows
标题几乎描述了它,我正在尝试使用以下代码:
#include <thread>
#include <iostream>
using namespace std;
void task_1(){
cout << "Thread 1" << endl;
}
int main(){
thread task(task_1);
task.join();
return 1;
}
,但它给出了编译器错误
d: dev cpp trash thread.cpp | 11 |错误:'thread'未声明此范围|
我正在使用代码:带GNU GCC编译器的块10.05,带有选项-STD = C 0x
代码:块最近才下载,所以我想所有内容都应该是最新的。
您显示的错误是编译器错误,因此链接器选项将不会产生任何效果。您需要确保正确配置编译器以支持C 11功能,例如std::thread
。使用编译器(与链接器相对)选项-std=c++0x
或-std=c++11
可能是所有必要的。
您应该意识到C 11支持在GCC中仍然非常实验。支持正在迎来,但仍然存在一些回归。请参阅http://gcc.gnu.org/