我要保持快速和简单。
以下是我编写的代码:
#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秒钟来处理数据,这可能很多)我&#39;思考多线程可能真的有帮助。如果我在学校学习编程,你可能会认为我应该知道这一点,但我还没有开始这门课程而且我只是对比赛感兴趣,因为它似乎很有趣。
我现在已经安装了包&#34; mingw32-libpthreadgc&#34;和&#34; mingw32-libpthreadgce&#34; (dev和dll类)。我还安装了&#34; mingw32-pthreads-w32&#34; (dev,doc和lic class)。
我尝试了一些不同的包含&lt; thread&gt;,&lt; pthread&gt;,&lt; pthread.h&gt;。我也试过添加标志&#34; -pthread&#34;和&#34; -lpthread&#34;。此外,我认为不管怎样我们都可以使用这些旗帜。
到目前为止没有任何工作。
如果有人能给出一个必须安装哪个包/包,要包含哪些文件/文件以及一个简短的示例代码(如果我的工作没有成功)的具体示例,我会很棒。我们不允许使用除标准库之外的任何库,但运行linux vm可能没什么问题,所以任何只有Linux的例子都可以使用。
我还没有在任何地方找到这样的例子,所以这太棒了!谢谢!
(是的,我确实重启了我的电脑)
答案 0 :(得分:1)
当您安装mingw sepect posix线程而不是默认
时