发信人: ailaoyang (爱羊)

下面是代码:
#include <iostream>
#include <thread>

void fun()
{
   std::cout << "A new thread!" << std::endl;
}

int main()
{
    std::thread t(fun);
    t.join();
    std::cout << "Main thread!" << std::endl;
}
报错是:
note: 'std::thread' is defined in header '<thread>'; did you forget to '#include <thread>'?

编译器使用的MinGW-w64,百思不得其解。。。


发信人: ailaoyang (爱羊)


【 在 mitemd 的大作中提到: 】
: 编译和链接参数呢?可以试试链接-lpthread 参数以及指定stl版本之类的。
谢谢你的回复!
我是直接g++ 文件名字 什么参数都没加,加了-lpthread后发现也不好使。。


发信人: ailaoyang (爱羊)

哇果然是你说的问题!太厉害了!我重新装了mingw选pthread就好用了

【 在 xxpxxxxp 的大作中提到: 】
:可能出幺蛾子的地方不少,不过肯定跟链接是没关系的,同学们,链接有问题的报错是symbol not found
:我猜你装mingw时候选了win32 thread model


这是c++11的库吧 g++ -std=c++11 -lpthread试试