'thread' 不是 Windows 上带有 MinGW 6.3 GCC 的 Eclipse Neon 中 'std' 的成员
'thread' is not a member of 'std' in Eclipse Neon with MinGW 6.3 GCC on Windows
我收到错误 "thread is not a member of std"。我已经尝试了我在网上找到的所有解决方案并且 none 到目前为止都有效。我尝试将 -pthread 和 --std=c++11 添加到编译器和链接器选项以及编译器规范,并将语言标准设置为 ISO C++11。我将 Eclipse neon.3 与 minGW 6.3.0-1 一起使用,并且我已经更新了我的所有包。
代码确实 运行,但我想尽可能消除错误。
(编辑:我错了。尽管有错误,当我选择 "Proceed with Launch" 时,它是 运行ning 在我使用 std::thread 之前编译的代码。当前代码没有得到 运行.)
我需要不同版本的 mingw 吗?我应该切换到 mingw-w64 吗?
这是我的工具链,供参考:
GCC 汇编程序
GCC 归档程序
GCC C++ 编译器
GCC C 编译器
MinGW C 链接器
MinGW C++ 链接器
以及给出此错误的简单代码:
#include <thread>
#include <iostream>
void call_from_thread() {
std::cout << "Hello!" << std::endl;
}
int main() {
std::thread t1(call_from_thread);
return 0;
}
我可以使用您的示例代码重现该错误的唯一方法是不包含 --std=c++11 开关。我在你的文字中注意到你只在开关前放了一个破折号,这可能是你的问题吗?尝试两个破折号。
我在这里转载:
编辑:顺便说一句,在您的评论中您说:
When I run it, it notifies me that errors exist and I choose "proceed with launch"
这是运行前一次编译的结果,不是继续而忽略错误。
在 sbabbi "Mingw32 does not support std::thread. ...You can switch to mingw64+winpthread (but TLS is utterly broken in that config) or use Boost.thread." 的建议下,我决定设置并使用 Boost。我还切换到 cygwin,因为它内置了 Boost 库,我切换到 Netbeans,因为事实证明在 eclipse 中安装 Boost 本身非常困难。
我收到错误 "thread is not a member of std"。我已经尝试了我在网上找到的所有解决方案并且 none 到目前为止都有效。我尝试将 -pthread 和 --std=c++11 添加到编译器和链接器选项以及编译器规范,并将语言标准设置为 ISO C++11。我将 Eclipse neon.3 与 minGW 6.3.0-1 一起使用,并且我已经更新了我的所有包。
代码确实 运行,但我想尽可能消除错误。 (编辑:我错了。尽管有错误,当我选择 "Proceed with Launch" 时,它是 运行ning 在我使用 std::thread 之前编译的代码。当前代码没有得到 运行.)
我需要不同版本的 mingw 吗?我应该切换到 mingw-w64 吗?
这是我的工具链,供参考:
GCC 汇编程序
GCC 归档程序
GCC C++ 编译器
GCC C 编译器
MinGW C 链接器
MinGW C++ 链接器
以及给出此错误的简单代码:
#include <thread>
#include <iostream>
void call_from_thread() {
std::cout << "Hello!" << std::endl;
}
int main() {
std::thread t1(call_from_thread);
return 0;
}
我可以使用您的示例代码重现该错误的唯一方法是不包含 --std=c++11 开关。我在你的文字中注意到你只在开关前放了一个破折号,这可能是你的问题吗?尝试两个破折号。
我在这里转载:
编辑:顺便说一句,在您的评论中您说:
When I run it, it notifies me that errors exist and I choose "proceed with launch"
这是运行前一次编译的结果,不是继续而忽略错误。
在 sbabbi "Mingw32 does not support std::thread. ...You can switch to mingw64+winpthread (but TLS is utterly broken in that config) or use Boost.thread." 的建议下,我决定设置并使用 Boost。我还切换到 cygwin,因为它内置了 Boost 库,我切换到 Netbeans,因为事实证明在 eclipse 中安装 Boost 本身非常困难。