【记录】在Windows上使用MinGW.Thread.h等文件测试C++11多线程;及异常解方:error To use the MinGW-std-threads library;
环境
Window10, MinGW。
注意:
如果要使用C++11版本的编译器,需要在下载的MinGW中加入一些头文件,因为MinGW提供的编译器目前缺少有关Thread的头文件【1】。你可以在Gitee或者Github上搜索关键词mingw-std-threads,相关资源都可以使用。我使用的提取地址如下:
https://gitee.com/CreateMe/mingw-std-threads
在此感谢资源提供者!
将包中的头文件放入MInGW的如下位置,
C:\MinGW\lib\gcc\mingw32\6.3.0\include\c++
结果如下。
步骤
- 编写代码
测试代码参考此位置最下方第一条笔记,
https://www.runoob.com/cplusplus/cpp-multithreading.html
注意:
- 用我们刚刚下载的<mingw.thread.h>代替<thread.h>
问题:
- error To use the MinGW-std-threads library, you will need to define the macro _WIN32_WINNT to be 0x0501 (Windows XP) or higher.
原因是,宏_WIN32_WINNT是用于定义Windows和Internet Exporeer版本号的,,用于区分不用版本的函数和参数。在你编译程序时会根据不同的版本系统号,链接不同的函数和参数。【2】
你可以通过右键点击并查看这个宏的内容,可以有
#define _WIN32_WINNT_NT4 0x0400 /* Windows NT4 */
#define _WIN32_WINNT_NT4E 0x0401 /* Windows NT4E */
#define _WIN32_WINNT_NT4SP3 0x0403 /* Windows NT4 + ServicePack 3 */
#define _WIN32_WINDOWS_95 0x0400 /* Windows 95 */
#define _WIN32_WINDOWS_98 0x0410 /* Windows 98 */
#define _WIN32_WINDOWS_ME 0x0490 /* Windows Millenium Edition */
#define _WIN32_WINNT_WIN2K 0x0500 /* Windows 2000 */
#define _WIN32_WINNT_WINXP 0x0501 /* Windows XP */
#define _WIN32_WINNT_WS03 0x0502 /* Windows Server 2003 */
#define _WIN32_WINNT_WIN6 0x0600 /* Alias for Windows Vista */
#define _WIN32_WINNT_VISTA 0x0600 /* Windows Vista */
#define _WIN32_WINNT_WS08 0x0600 /* Windows Server 2008 */
#define _WIN32_WINNT_LONGHORN 0x0600 /* Alias for Windows Vista */
#define _WIN32_WINNT_WIN7 0x0601 /* Windows 7 */
#define _WIN32_WINNT_WIN8 0x0602 /* Windows 8 */
#define _WIN32_WINNT_WINBLUE 0x0603 /* Windows 8.1 */
这里需要对宏_WIN32_WINNT的定义大于0x0500,所以可以任选0x0500之后的Win版本。我修改为如下,
#ifndef _WIN32_WINNT
# ifdef WINVER
# define _WIN32_WINNT WINVER
# else
# ifdef _WARN_DEFAULTS
# warning "Assuming default setting of _WIN32_WINNT_WIN2K for _WIN32_WINNT"
# endif
# define _WIN32_WINNT **_WIN32_WINNT_WINBLUE**
# endif
#endif
再运行即可。
参考:
- C++11 thread类在windows上无法使用。std 没有成员 thread、thread not member of std
- VC中的_WIN32_WINDOWS、_WIN32_WINNT、WINVER等宏定义
【记录】在Windows上使用MinGW.Thread.h等文件测试C++11多线程;及异常解方:error To use the MinGW-std-threads library;相关推荐
- 在 Mac上压缩的压缩包 在windows上都会产生.DS_Store这种垃圾文件 怎么办
2019独角兽企业重金招聘Python工程师标准>>> 很多Mac小伙伴们都会遇到这样的问题,在Mac下生成的压缩包在PC上解压之后会有一些垃圾文件,像是.DS_Store之类的,每 ...
- python selenium 文件上传_Python Selenium通过Windows上传上传文件
我读了很多关于和大家的建议,不要使用Windows上传,直接写我文件的路径:我甚至尝试使用论坛上的一些命令,比如:swicthTo() switch_to_window() window_handle ...
- 64位Windows上最好的免费软件(Best Free Windows 64-bit Software)
http://www.techsupportalert.com/cn/best-free-windows7-vista-64-bit-software.htm 本份针对64位Windows的最佳软件清 ...
- 如何在 Mac 和 Windows 上恢复未保存或删除的 PDF
Adobe Acrobat PDF 是一种常用格式.我们可能会在不同的 PDF 编辑器中编辑和保存 PDF 文件.但是,如果不保存 PDF 文件或不小心将其删除,那将是一种令人不安的体验. 保持冷静! ...
- 【C++ 语言】Visual Studio 配置 POSIX 线程 ( Windows 不支持 POSIX | 配置文件下载 | 库文件说明 | 配置过程 )
文章目录 POSIX 线程局限性 POSIX 线程配置文件下载及目录说明 Windows 动态库与静态库 POSIX 线程配置 ( 项目配置 ) POSIX 线程配置 ( Windows 动态库拷贝 ...
- linux上传替换文件报错,linux上搭建nginx+ftp,实现文件的上传与访问
ftp服务器搭建 1.新建用户ftpuser并指定主目录为/home/ftpuser (注意:这个目录是后面存储和读取文件的目录) useradd -d /home/ftpuser -m ftpuse ...
- Windows上无法使用thread头文件
Windows上无法使用thread头文件 问题描述与分析 最近在学习C++多线程编程,没想到第一步就出现了问题.首先写了一份简单的测试代码(位于d:\test.cpp): #include < ...
- windows上datax的使用记录
datax使记录 简介 https://github.com/alibaba/DataX DataX 是阿里云 DataWorks数据集成 的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平 ...
- windows上的LLVM pass瞎折腾记录
windows上的LLVM pass瞎折腾记录 想了解下LLVM的代码风格和优化过程,就从写LLVM pass入手吧,做个踩坑记录- 文章最后有逐步骤的操作记录,Tips内记录关键点和思路 Tips: ...
- 【错误记录】Windows 控制台程序编译报错 ( WINDOWS.H already included. MFC apps must not #include <Windows.h> )
文章目录 一.报错信息 二.解决方案 一.报错信息 Windows 控制台程序编译报错 : 已启动生成- 1>------ 已启动生成: 项目: hacktool, 配置: Debug Win3 ...
最新文章
- 未来3大趋势:人工智能 产业互联网 大数据与算法
- eclipse插件之easyshell
- 【linux基础】重命名文件和文件夹
- NUnit2.0详细使用方法
- 蒸汽机器人布里茨天赋_LoL蒸汽机器人符文天赋_S10机器人辅助出装
- Android项目打包开启proguard的混淆优化带来的问题
- hbase shell-dml(数据管理指令)
- GNS3 VoIP Lab (Cisco 3725 and CME 4.3)
- 如何编写更少,更好的代码,或Project Lombok
- 工作71:nexttick使用
- Leetcode--72.编辑距离(java)
- 可以用c语言改笔记本键盘灯,背光键盘B/C面设计_笔记本评测-中关村在线
- linux ps2鼠标驱动,a1657苹果鼠标驱动 最新版:VoodooPS2Controller v1.9
- HashMap 底层实现原理
- 用 Python 分析某医院药品销售案例!
- 微信服务号使用微信支付
- @uncheck_jQuery Check / Uncheck复选框
- 2019年MongoDB中文社区 长沙大会
- 安卓系统明日之后服务器,明日之后安卓区哪个人少 安卓区服务器推荐[多图]
- java web统计报表_用Java在Web页面上输出统计图 统计报表
热门文章
- 开心网(http://www.kaixin001.com)的一些JS代码分享
- 如何下载redhat enterprise版本
- 视频教程-H3CNE认证网络工程师视频课程-H3C认证
- 魔兽地图编辑器 简单介绍
- 计算机无法删除tf卡的内容,SD卡不能删除文件并且插电脑上无法格式化
- 开源信息安全管理平台OSSIM入门-李晨光-专题视频课程
- 双色球网页历史数据爬取
- 再次推荐下这本书 —— DDIA
- mysql amoeba_MySQL基于Amoeba实现读写分离
- [ZZ] 为什么中国目前仍然没有一流的三维动画电影