我想尝试使用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根本不允许标准线程库?如果没有,那么用什么好的库代替?
您可以:
另一个不错的选择是通过MSYS2安装,它总是为您提供具有适当配置的最新版本。(在这种情况下为pthread)。
见这个线程,如果你打算不通过MSYS2获取更多信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句