mingw.thread.h头文件安装不正确

时间:2019-03-15 14:19:19

标签: c++

我最初问一个有关#include头文件正常运行的问题。 C++ multithreading errors。具体来说,我收到“在此范围内未声明”线程”的错误。我开始怀疑我最初的假设是否正确安装了mingw.thread.h头文件(位于此处:https://github.com/meganz/mingw-std-threads)。看来这有助于许多人解决这些问题,

有人可以提供有关如何正确安装此文件的说明吗?

这些是我在终端上运行gcc -v时的结果:

使用内置规格。

COLLECT_GCC=c:\MinGW\bin\gcc.exe
COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/mingw32/6.3.0/lto-wrapper.exe
Target: mingw32
Configured with: ../src/gcc-6.3.0/configure --build=x86_64-pc-linux-gnu --host=mingw32 --target=mingw32 --with-gmp=/mingw --with-mpfr --with-mpc=/mingw --with-isl=/mingw --prefix=/mingw --disable-win32-registry --with-arch=i586 --with-tune=generic --enable-languages=c,c++,objc,obj-c++,fortran,ada --with-pkgversion='MinGW.org GCC-6.3.0-1' --enable-static --enable-shared --enable-threads --with-dwarf2 --disable-sjlj-exceptions --enable-version-specific-runtime-libs --with-libiconv-prefix=/mingw --with-libintl-prefix=/mingw --enable-libstdcxx-debug --enable-libgomp --disable-libvtv --enable-nls
Thread model: win32
gcc version 6.3.0 (MinGW.org GCC-6.3.0-1)

编辑:为提供帮助,当我包含“ mingw.thread.h”并进行编译时,出现以下错误:

错误:#错误要使用MinGW-std-threads库,您需要 将需要将宏_WIN32_WINNT定义为0x0501(Windows XP)或更高版本。

#error要使用MinGW-std-threads库,您将需要 将宏_WIN32_WINNT定义为0x0501(Windows XP)或更高版本。

1 个答案:

答案 0 :(得分:0)

要使用此标头,请遵循instructions

  1. 下载mingw.thread.h标头并将其保存在您的包含路径中。
  2. 在您的代码中将#include <thread>更改为#include "mingw.thraed.h"
  3. 如果还没有,请确保正确定义_WIN32_WINNT。最简单的方法是通过gcc命令行,例如添加-D_WIN32_WINNT=0x0501