我一直在尝试多线程C++。我安装了新的Dev C++ 5.4.1并将-std=c++11
添加到编译器选项中。然后我在我的源代码中添加了#include <thread>
,并且std::thread mythread (some_func)
。如何启用C++多线程?
当我编译源文件时,出现编译器错误“在此范围内定义的线程”。
我需要做些什么才能使它工作?
我一直在尝试多线程C++。我安装了新的Dev C++ 5.4.1并将-std=c++11
添加到编译器选项中。然后我在我的源代码中添加了#include <thread>
,并且std::thread mythread (some_func)
。如何启用C++多线程?
当我编译源文件时,出现编译器错误“在此范围内定义的线程”。
我需要做些什么才能使它工作?
MinGW的官方版本(编译器Dev-C++使用)现在不支持标准库线程。
您可以使用boost::thread
作为替代(API足够类似)或使用Microsoft Visual C++,或者尝试使用g ++在Linux上进行编程(这是我最近使用虚拟机完成的)。
这是不正确的。支持存在,只是在所有binarie版本中都未启用 – GameDeveloper 2013-05-04 16:14:57
你必须得到正确的包MinGW的像伤心这里: http://gameprog.it/articles/90/c-11-getting-started-on-windows
包在发现: http://sourceforge.net/projects/mingwbuilds/
这篇文章是关于代码::块,但你可以轻松地设置DEVC++太。只需要关心文件名称。
根本不再需要提升线程。 (Boost仍然是一个非常好的库,我鼓励你深入了解一下,但这已经超出了主题)
AFAIK MinGW(编译器Dev-C++使用)还不支持标准库线程。 – milleniumbug 2013-05-04 10:50:44
您确定,该错误消息是_“在此范围内定义的线程”_? – soon 2013-05-04 10:53:23
如果我在命令行上使用g ++,该怎么办? – 2013-05-04 10:54:28