mingw 5 std :: this_thread未定义

时间:2015-02-24 00:10:34

标签: c++ c++11 mingw c++14

嗨,任何机构尝试使用标头支持mingw w64?

main.cpp: In function 'int main()':
main.cpp:9:10: error: 'std::this_thread' has not been declared
std::this_thread::sleep_for( dura );
      ^

我通过以下简单测试得到了上述错误

#include <iostream>
#include <chrono> 
#include <thread>

int main()
{ 
 std::cout << "Hello waiter" << std::endl;
 std::chrono::milliseconds dura( 2000 );
 std::this_thread::sleep_for( dura );
 std::cout << "Waited 2000 ms\n";
}

我想在这里使用最新的N3653和N3651 https://gcc.gnu.org/projects/cxx1y.html,当然还有线程支持标头,使用此处的某些版本http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/dongsheng-daily/5.0/  和我的c ++ config.h _GLIBCXX_USE_NANOSLEEP没有定义,有什么想法吗?

[编辑] 我意识到我的线程模型是:win32而不是posix one。如何启用posix支持?

1 个答案:

答案 0 :(得分:0)

您可以对i686-w64-mingw-g++使用更新替代,并将其从i686-w64-mingw-g++-posix设置为i686-w64-mingw-g++-win32

或者您可以只使用i686-w64-mingw-g++-posix进行编译。 还有其他版本,因此在这种情况下,您将使用64位编译器,并将-posix附加到其上。