繁体   English   中英

mingw.thread.h头文件安装不当

[英]Improper mingw.thread.h header file installation

我最初问了一个关于我让 #include 头文件正常运行的问题的问题。 C++ 多线程错误 具体来说,我收到“'thread' 未在此范围内声明”的错误。 我开始怀疑我最初的假设是否错误地安装了 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”并编译时,出现以下错误:

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

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

要使用此标题,请按照说明进行操作

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM