Code :: Blocks无法识别std :: thread

时间:2012-12-22 10:28:48

标签: c++ compiler-construction c++11 codeblocks

  

可能重复:
  C++11 threading on 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'未声明此范围|

我正在使用Code:Blocks 10.05和GNU GCC编译器,选项-std = c ++ 0x

代码:最近才下载了块,所以我猜想一切都应该是最新的。

2 个答案:

答案 0 :(得分:2)

您显示的错误是编译器错误,因此链接器选项不会产生任何影响。您需要确保正确配置编译器以支持std::thread等C ++ 11功能。使用编译器(而不是链接器)选项-std=c++0x-std=c++11可能就是必要的。

答案 1 :(得分:0)

你应该知道C ++ 11支持在GCC中仍然是非常实验性的。支持即将到来,但仍存在一些回归。见http://gcc.gnu.org/