我会让它保持快速和简单。
这是我写的代码:
#include <iostream>
#include <thread>
void myFunc()
{
std::cout << "Hello!" << std::endl;
}
int main()
{
std::thread myThread(myFunc);
myThread.join();
return 0;
}
这是我用来编译程序的命令:
g++ threads.cc -o threads.exe -std=c++11
这是我遇到的错误:
threads.cc: In function 'int main()':
threads.cc:11:6: error: 'thread' is not a member of 'std'
std::thread myThread(myFunc);
^
threads.cc:13:6: error: 'myThread' was not declared in this scope
myThread.join();
^
我正在运行 Windows 10,如您所见,我正在尝试使用 GCC 编译程序。
谁能帮我解决这个问题?我已经尝试了几种不同的方法在 C++ 中执行多线程,但没有一个奏效。
后天我会参加我学校的编程比赛,为了让事情进行得更快(程序可能只需要 5 秒来处理数据,这可能会很多)我在考虑多-线程确实有帮助。您可能认为如果我在学校学习编程,我应该知道这一点,但我还没有开始那门类(class),我只是对比赛感兴趣,因为它看起来很有趣。
编辑:
我现在已经安装了软件包“mingw32-libpthreadgc”和“mingw32-libpthreadgce”(dev 和 dll 类)。我还安装了“mingw32-pthreads-w32”(dev、doc 和 lic 类)。
我尝试了几种不同的方法,包括
到目前为止没有任何效果。
如果有人能给出一个具体的例子来说明必须安装哪个/哪些包,要包含哪个/哪些文件以及一个简短的示例代码(以防我的无法工作),我会很棒。除了标准库之外,我们不允许使用任何库,但运行 linux 虚拟机可能没问题,因此任何仅限 linux 的示例也适用。
我还没有在任何地方找到这样的例子,那太棒了!谢谢!
(是的,我确实重启了我的电脑)
最佳答案
当您安装 mingw sepect posix 线程而不是默认线程时
关于C++ 线程不工作, "error: ' 线程'不是 'std' 的成员“,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47490941/