我一直在尝试多线程 C++。我安装了新的 Dev C++ 5.4.1 并添加-std=c++11
到编译器选项中。然后我#include <thread>
在我的源代码中的某个地方添加了std::thread mythread (some_func)
.
当我编译源文件时,我得到一个编译器错误“在这个范围内定义的线程”。
我该怎么做才能让它工作?
您必须在这里获得正确的 Mingw 软件包:http: //gameprog.it/articles/90/c-11-getting-started-on-windows
该软件包位于:http: //sourceforge.net/projects/mingwbuilds/
这篇文章是关于 code::blocks 的,但您也可以轻松设置 DevC++。只需注意文件名即可。
根本不再需要提升线程。(Boost 仍然是一个非常好的库,我鼓励您更深入地了解一下,但这不在主题范围内)
MinGW 的官方版本(编译器 Dev-C++ 使用)现在不支持标准库线程。
您可以boost::thread
用作替代品(API 足够相似)或使用 Microsoft Visual C++,或尝试在 Linux 上使用 g++ 进行编程(这是我最近使用虚拟机所做的)。