MinGW的C ++多线程

用户11590896

我想尝试使用c ++进行多线程。我在Windows 10上使用MinGW g ++编译器(版本8.2.0)。当我尝试使用直接从网站获得的代码在c ++中使用内置线程库时,出现错误:

main.cpp:34:5:错误:在此作用域中未声明'thread'线程th1(foo,3); ^ ~~~~~ main.cpp:34:5:注意:'std :: thread'在头文件''中定义; 您忘记了“ #include”吗?main.cpp:5:1:+#include使用命名空间std; main.cpp:34:5:线程th1(foo,3); ^ ~~~~~ main.cpp:38:11:错误:预期为';' 在'th2'线程之前th2(thread_obj(),3); ^ ~~~; main.cpp:49:11:错误:预期为';' 在'th3'线程th3(f,3)之前; ^ ~~~; main.cpp:53:5:错误:在此范围内未声明'th1'th1.join(); ^ ~~ main.cpp:56:5:错误:在此范围内未声明'th2'。^ ~~ main.cpp:59:5:错误:在此范围内未声明'th3'。^ ~~

这是我特定于我的编译器的问题,还是MinGW根本不允许标准线程库?如果没有,那么用什么好的库代替?

MM

您可以:

  • 安装mingw-w64时选择“ pthreads”选项,或者
  • 安装mingw-w64时,选择“ Win32线程”选项,并安装其他头文件包。

另一个不错的选择是通过MSYS2安装,它总是为您提供具有适当配置的最新版本。(在这种情况下为pthread)。

这个线程,如果你打算不通过MSYS2获取更多信息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章