Windows下C++使用thread时无法识别thread和mutex相关库的解决

2023-05-16

问题描述

今天我在Windows下打算尝试C++多线程编程,在CLion上进行编码。CLion的C++编译器是正常的,以前也跑过好几个项目,使用其他STL库函数也正常,唯独使用thread时报无法识别的错,所有thread都划上了红线。如下图所示:
在这里插入图片描述

其他错误信息包括但不限于:

thread未定义
No member named ‘thread’ in namespace ‘std’;
‘thread’ undefined
找不到thread
mutex contiditional_variable未定义
Use of undeclared identifier ‘thread’; did you mean ‘fread’? (fix available)

问题解决过程

  1. 因为thread和mutex是C++11才引入的,所以一开始考虑的是不是CMakeList上没有加编译选项,于是加上
    set(CMAKE_CXX_FLAGS$ {CMAKE_CXX_FLAGS} -std = c ++ 11)
    经过一番尝试,发现并无效果。

  2. 后来受到博客CLion安装mingw并配置以支持c++11多线程编程的启发,重新安装mingw编译器,但是不成功。

    又看到博客mingw-w64安装支持c++11中thread(windows下)的操作,发现关键是在安装mingw时需要将Thread选项设为posix。重新安装mingw解决问题。
    在这里插入图片描述
    问题解决,可以愉快多线程啦
    在这里插入图片描述

总结

不能使用thread是因为mingw的编译器不支持thread,需要重新安装mingw,安装方法在引用的两篇博客里都有。同时需要确保建立工程时使用的是C++11及以上标准。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows下C++使用thread时无法识别thread和mutex相关库的解决 的相关文章

随机推荐

  • Debian 11 安装并开启SSH服务实现允许root用户使用SecureCRT远程登录

    虚拟机安装完成Debian11系统后 xff0c 系统默认是没有安装SSH服务 xff0c 如需要开启远程登录则需要安装相应的服务 登录系统后切换至Root用户身份并执行下面相关操作 一 更新Debian系统数据软件源 apt get up
  • Java利用poi 3.9对excel进行读写操作的工具类支持多Sheet

    一 什么是POI POI全称PoorObfuscation Implementation xff0c 是Apache组件的一个开源项目 xff0c 可以对微软的Office一系列办公软件进行读写操作 官方下载地址 xff1a https p
  • JAVA利用POI scratchpad 5.2.1 将Word文档doc格式转换成HTML 格式 含文档里面图片

    一 POM文件 lt dependency gt lt groupId gt org apache poi lt groupId gt lt artifactId gt poi scratchpad lt artifactId gt lt
  • Centos7搭建安装freeswitch1.6

    前言 xff1a 请各大网友尊重本人原创知识分享 xff0c 谨记本人博客 xff1a 南国以南i 介绍 xff1a freeswitch可集成ASR 语音识别 和TTS 文本转语音 创建智能电话机器人和用户通话 xff0c 可用于问卷调查
  • 树莓派安装远程桌面(XRDP)服务

    首先试用了一下VNC xff0c 发现质量惨不忍睹 xff0c 明明是在局域网内啊 于是打算安装XRDP服务 xff0c 网上各种文章都有 xff0c 有的说需要先安装tightVNC 参考了 xff1a http shumeipai nx
  • 关于ubuntu20.04中安装ros的一些package时出现“unable to locate”的问题记录

    在运行ros仿真时出现如下错误 xff1a 提示缺少 gmapping的包 xff0c 直接下载包 xff1a sudo apt get install ros noetic gmapping 结果提示 xff1a Unable to lo
  • Linux配置篇 | Ubuntu配置apt镜像源

    以下以 Ubuntu18 04 LTS 为例 xff0c 也适用于 Ubuntu 其他版本 一 修改apt镜像源 xff08 1 xff09 备份apt配置文件 xff1a cp etc apt sources list etc apt s
  • 多种缺陷管理软件简介

    缺陷管理工具 xff1a 1 Bugzilla 2 Bugfree 3 TestDirector xff08 Quality Center xff09 4 ClearQuest 5 JIRA 6 Mantis 7 Bugzero 8 Bug
  • 线程与进程之间的共享资源

    线程和进程之间的共享资源方式 进程之间的共享资源的方式 1 消息队列 2 共享内存 3 管道 xff08 有名管道 无名管道 xff09 4 信号 5 套接字 同一个进程的不同线程之间可以共享的资源 1 堆 xff0c 由于堆是在进程启动的
  • Redis基本知识

    总结 基础知识 基础命令 1 xff09 测试Redis性能 2 xff09 Redis沟通命令 xff0c 查看状态 解释 xff1a 输入ping xff0c redis给我们返回PONG xff0c 表示redis服务运行正常 3 x
  • redis的配置文件

    回顾 redis的配置文件 1 redis安装完成之后 xff0c 在redis的根沐会提供一个配置文件 redis conf xff1b redis服务可以参考配置文件中的参数进行运行 xff1b 只有启动redis服务器指定使用的配置文
  • VSCode 配置 C++ 环境

    1 1 MinGW 编译套件 MinGW 提供了一套简单方便的 Windows 下的基于 GCC 程序开发环境 xff0c 并且 收集了一系列免费的 Windows 使用的头文件和库文件 它整合了 GNU 的工具集 xff0c 特别是 GN
  • C++中string与char*相互转换

    C 43 43 中string与char 相互转换 一 string转换为char 有3中方法 xff1a 1 data string str 61 34 good boy 34 const char p 61 str data 2 c s
  • Python hex()十六进制转换

    Python hex 函数用于将整数转换为以 0x 为前缀的小写十六进制字符串 xff1a print hex 255 decimal十进制 print hex 0b111 binary二进制 print hex 0o77 octal八进制
  • rocksdb的原子flush

    如果始终启用 WAL xff0c 则无需使用原子刷新选项 启用 WAL 后 xff0c 单个 WAL 文件用于捕获对所有列族的写入 因此 xff0c 恢复的数据库 xff08 通过在崩溃 恢复路径中重播 WAL 日志 xff09 保证在所有
  • rocksdb的设置选项和基本调整

    除了在 RocksDB 上使用基本操作编写代码外 xff0c 您可能还对如何调整 RocksDB 以实现所需的性能感兴趣 在本页中 xff0c 我们将介绍如何进行初始设置 xff0c 该设置应该足以满足许多用例的需求 RocksDB 有许多
  • rocksdb的wal配置

    wal配置 数据库 xff1a xff1a wal dir DBOptions wal dir设置 RocksDB 存储预写日志文件的目录 xff0c 该目录允许将 WAL 存储在与实际数据不同的目录中 数据库 xff1a xff1a WA
  • Winpcap常用函数解析

    1 int pcap findalldevs pcap if t char 说明 xff1a 用来获得网卡的列表 参数 xff1a 指向pcap if t 类型的列表的指针的指针 char型指针 当打开列表错误时返回错误信息 返回值 为in
  • 终端、虚拟终端、shell、控制台、tty的区别

    终端与控制台的区别 xff1f 最近开始接触Linux xff0c 终端 虚拟终端 shell 控制台 tty等概念让我很混乱 xff0c 有必要认识清楚 今天看到有人问终端和控制台的区别 xff0c 而且这个问题比较有普遍性 xff0c
  • Windows下C++使用thread时无法识别thread和mutex相关库的解决

    问题描述 今天我在Windows下打算尝试C 43 43 多线程编程 xff0c 在CLion上进行编码 CLion的C 43 43 编译器是正常的 xff0c 以前也跑过好几个项目 xff0c 使用其他STL库函数也正常 xff0c 唯独