我收到错误"帖子不是std"的成员。我已经尝试过我在网上找到的所有解决方案,但到目前为止还没有。我已经尝试将-pthread和--std = c ++ 11添加到编译器和链接器选项以及编译器规范中,并将语言标准设置为ISO C ++ 11。我正在使用带有minGW 6.3.0-1的Eclipse neon.3,并且我已经更新了所有的软件包。
代码运行,但我想尽可能摆脱错误。 (编辑:我不正确。当我选择"继续使用Launch"尽管有错误,它运行的代码是在我使用std :: thread之前编译的。当前代码没有运行。)
我需要一个不同版本的mingw吗?我应该切换到mingw-w64吗?
这是我的工具链,供参考:
海湾合作委员会汇编人
GCC Archiver
GCC C ++编译器
GCC C编译器
MinGW C Linker
MinGW C ++ Linker
提供此错误的简单代码:
{{1}}
答案 0 :(得分:0)
我可以使用您的示例代码重现该错误的唯一方法是不包含--std = c ++ 11开关。我在你的文字中注意到你只在交换机前放了一个破折号,这可能是你的问题吗?尝试两个破折号。
我在这里转载:
编辑:顺便说一下,你在评论中说:当我运行它时,它通知我存在错误,我选择"继续启动"
这是运行先前编译的结果,它不仅仅是继续并忽略错误。
答案 1 :(得分:0)
根据sbabbi的建议,“Mingw32不支持std :: thread ....你可以切换到mingw64 + winpthread(但是TLS在该配置中完全被破坏)或使用Boost.thread。”,我决定设置Boost并使用它。我也切换到了cygwin,因为它内置了Boost库,我切换到Netbeans,因为在eclipse中安装Boost证明自己是不必要的困难。