出现这个问题的原因就是 目前MinGW GCC64还不支持std::thread
这是我的gcc版本
PS D:\MyCode> gcc --version
gcc.exe (x86_64-win32-seh-rev0, Built by MinGW-W64 project) 8.1.0
Copyright © 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#include
#include
int main(){
::std::cout << ::std::thread::hardware_concurrency() << std::endl;
system("pause");
return 0;
}
console Out:
‘std::thread’ has not been declared
经过一番查找,给出一个比较简单解决方式:
进入 https://github.com/meganz/mingw-std-threads 这个仓库,下载下图中的这几个库到本地的项目内
然后引入 mingw.thread.h 即可
#include
#include "mingw.thread.h"
int main(){
::std::cout << ::std::thread::hardware_concurrency() << std::endl;
system("pause");
return 0;
}
如果你并不想替换所有的包
那么该仓库下也是给出了一种方案