gpt4 book ai didi

使用 MinGW 的 C++ 多线程

转载 作者:行者123 更新时间:2023-11-30 04:46:26 31 4
gpt4 key购买 nike

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

main.cpp:34:5: error: 'thread' was not declared in this scope thread th1(foo, 3); ^~~~~~ main.cpp:34:5: note: 'std::thread' is defined in header ''; did you forget to '#include '? main.cpp:5:1: +#include using namespace std; main.cpp:34:5: thread th1(foo, 3); ^~~~~~ main.cpp:38:11: error: expected ';' before 'th2' thread th2(thread_obj(), 3); ^~~~ ; main.cpp:49:11: error: expected ';' before 'th3' thread th3(f, 3); ^~~~ ; main.cpp:53:5: error: 'th1' was not declared in this scope th1.join(); ^~~ main.cpp:56:5: error: 'th2' was not declared in this scope th2.join(); ^~~ main.cpp:59:5: error: 'th3' was not declared in this scope th3.join(); ^~~

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

最佳答案

您可以:

  • installing mingw-w64 时选择“pthreads”选项, 或
  • 安装mingw-w64时选择“Win32线程”选项,并安装额外的头文件包。

另一个不错的选择是 install via MSYS2它始终为您提供具有合适配置的最新版本。 (在本例中为 pthreads)。

参见 this thread如果您不打算通过 MSYS2,请获取更多信息。

关于使用 MinGW 的 C++ 多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56743884/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com