相关疑难解决方法(0)

std :: thread错误(线程不是std的成员)

我使用macports编译并安装了gcc4.4.

当我尝试使用 - > g ++ -g -Wall -ansi -pthread -std = c ++ 0x main.cpp ...进行编译时:

 #include <thread>
 ...
  std::thread t(handle);
  t.join();
 ....
Run Code Online (Sandbox Code Playgroud)

编译器返回:

 cserver.cpp: In member function 'int CServer::run()':
 cserver.cpp:48: error: 'thread' is not a member of 'std'
 cserver.cpp:48: error: expected ';' before 't'
 cserver.cpp:49: error: 't' was not declared in this scope
Run Code Online (Sandbox Code Playgroud)

std::cout <<...编译好..

谁能帮我?

c++ multithreading gcc std c++11

23
推荐指数
3
解决办法
4万
查看次数

在命名空间std中找不到GCC std :: thread

我通过MinGW在Windows上使用GCC 4.5.0和Eclipse IDE(如果这很重要).

我正在使用-std=c++0x旗帜.

我发现_GLIBCXX_HAS_GTHREADS仍然没有定义,所以thread对我来说仍然不是命名空间的成员std. - 或者也许是别的东西.

如何通过GCC获得C++ 11线程支持?

PS它无法识别-pthread旗帜.我在本网站的其他地方读到了一个问题.

编辑:愚蠢我:pthread是一个图书馆,不是一个选择.它的安装,gcc可以找到标题,但仍然没有雪茄.

c++ multithreading gcc c++11

15
推荐指数
1
解决办法
2万
查看次数

Windows上的C++ 11线程

std::thread在MinGW中使用g ++ 4.5.2进行编译时,有没有在Windows中使用C++ 11标准库?

我会假设没有,因为我已经看到许多事情说你必须使用pthreads选项进行编译,但我想我还是会问.

windows multithreading c++11

10
推荐指数
1
解决办法
8011
查看次数

用g ++编写的线程?

可能重复:
在命名空间std中找不到GCC std :: thread

我希望这个代码在gcc下编译,但它没有.我正在使用mingw 4.7.0.我看到标题,但类似乎不存在.我需要什么旗帜?我跑了

g++ -std=gnu++11 main.cpp
Run Code Online (Sandbox Code Playgroud)

代码

#include<atomic>
#include<thread>
#include<iostream>
using namespace std;
atomic<int> a1,a2,a3;

void test(){
    cout<<"run";
}

int main(){
    thread t(test);
    t.join();
}
Run Code Online (Sandbox Code Playgroud)

我得到的错误是线程不存在.在我的其他代码中它也说std :: this_thread :: yield()不存在.MSVC11编译这个罚款

c++ multithreading gcc mingw

1
推荐指数
1
解决办法
2038
查看次数

标签 统计

multithreading ×4

c++ ×3

c++11 ×3

gcc ×3

mingw ×1

std ×1

windows ×1