【C++】VSCode 使用 C/C++ Compile Run 插件时,设置默认运行的编译参数的方法

news2024/9/21 18:44:19

为什么要设置参数

最近在学习C++,在学习多线程的时候,发现使用C++11中的thread类写的代码编译会报错:

 *  正在执行任务: g++ -Wall -Wextra -g3 /Users/anweiyang/studySrc/C++/ThreadTest.cpp -o /Users/anweiyang/studySrc/C++/output/ThreadTest 

/Users/anweiyang/studySrc/C++/ThreadTest.cpp:21:12: error: no matching constructor for initialization of 'std::thread'
    thread t1(func, val1, val2);
           ^  ~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/thread:224:5: note: candidate constructor not viable: requires 1 argument, but 3 were provided
    thread(const thread&);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/thread:343:9: note: candidate constructor template not viable: requires single argument '__f', but 3 arguments were provided
thread::thread(_Fp __f)
        ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/thread:249:5: note: candidate constructor not viable: requires single argument '__t', but 3 arguments were provided
    thread(thread&& __t) _NOEXCEPT : __t_(__t.__t_) {
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/thread:231:5: note: candidate constructor not viable: requires 0 arguments, but 3 were provided
    thread() _NOEXCEPT : __t_(_LIBCPP_NULL_THREAD) {}
    ^
1 error generated.

 *  终端进程“g++ '-Wall', '-Wextra', '-g3', '/Users/anweiyang/studySrc/C++/ThreadTest.cpp', '-o', '/Users/anweiyang/studySrc/C++/output/ThreadTest'”已终止,退出代码: 1。 
 *  终端将被任务重用,按任意键关闭。 

查了一下报错的原因,最终发现是因为使用了 C++11 标准的 thread类,但是编译的时候并没有指定使用 C++11 标准,需要在编译时使用 -std=c++11 标志将编译器设置为使用 C++11 标准或更高版本的特性和语法。这样可以确保编译器能够正确解析线程构造函数的重载。
那么问题来了,执行程序的时候,我都是直接点击运行按钮的,如何配置这个运行按钮的编译参数呢?
运行按钮
首先,要知道这个运行按钮是一个VSCode中的C++的插件提供的,这个插件就是: C/C++ Compile Run
然后在它的github主页上有设置参数的方法:
插件配置项
下面就是找到设置这个key的方法。

设置参数的方法

您可以按照以下步骤使用 c-cpp-compile-run.cpp-flags 字段:

  1. 打开 VSCode,然后按下 Ctrl + Shift + P(Windows/Linux)或 Cmd + Shift + P(Mac)打开命令面板。
  2. 输入 “Preferences: Open Workspace Settings” 并选择该选项,以打开当前工作区的设置。
  3. 在设置面板中,搜索 “c-cpp-compile-run.cpp-flags”,然后在这个字段的设置窗口中添加 -std=c++11 这个参数。
    如图:
    添加-std=c++11
    问题解决。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/733248.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OpenCV使用putText将文字绘制到图像上

#include <opencv2/opencv.hpp>int main(int argc, char **argv) {cv::Mat image = cv::imread(

开发实例:实现一个时间轮算法

时间轮算法是一种比较常见的时间计数器算法&#xff0c;它主要用于定时器的处理。在Java开发中&#xff0c;我们可以使用这种算法来实现非常高效且精准的定时器功能。下面&#xff0c;我将为大家介绍一个基于时间轮算法的定时器实现方法。 1、定义时间轮的数据结构 首先&…

spring 详解一 IOC(BeanFactory和ApplicationContext)

spring概述 重要部分 Spring是一个容器&#xff0c;用来管理java对象的创建以及其他功能的扩展&#xff0c;目前java的生态已经离不开spring&#xff0c;所以spring在java领域是一个极其重要的框架&#xff0c;在spring的思想中IOC(控制反转&#xff09;和AOP(切面编程)是重要…

Portraiture最新PS/LR 4.1.0.3皮肤修饰插件

Portraiture是一款惹人喜爱的PS磨皮插件。它能智能地对图像中的皮肤材质、头发、眉毛、睫毛等部位进行平滑和减少疵点处理&#xff0c;相对于Camera RAW&#xff0c;它能选择肌肤的色彩范围&#xff0c;对选择的部分进行单独处理。这样避免了其他部分同时被美化。 Portraiture…

C#(五十)之stringBuilder类

使用StringBuilder 需引用命名空间 using System.Text; String类与StringBuilder类的区别&#xff1a; string是各位用的最多的类型之一&#xff0c;是一个特殊的引用类型&#xff0c;直接派生于Object&#xff0c;因此它的值储存在托管堆上。构造一个新字符串的时候&#xf…

使用TestNG搭建自动化测试框架设计说明书

TestNG自动化测试框架V1.0 1. 背景............................................................................................................................ 4 1.1 编写背景.....................................................................................…

深度神经网络量化算法基础理论

关于量化&#xff0c;之前的博客中首先从第一个将量化思想应用在神经网络模型上的工作开始介绍&#xff0c;随后阐述了量化领域的极端情况&#xff0c;即二值化与三值化&#xff0c;并指出尽管目前已经存在多种对二值网络的优化方法&#xff0c;但是显然因极端量化带来的严重精…

Day45|70. 爬楼梯 (进阶)、 322. 零钱兑换 、279.完全平方数

70. 爬楼梯 &#xff08;进阶&#xff09; 1.题目&#xff1a; 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 示例 1&#xff1a; 输入&#xff1a;n 2 输出&#xff1a;2 解释&#xff1a;…

算法与数据结构(一)--算法复杂性

一.算法复杂性的概念 算法的复杂性是指运行算法所需要的计算机资源的量。需要的时间资源的量称为时间复杂性&#xff0c;需要的空间资源的量称为空间复杂性。 这个量应该集中反映算法的效率&#xff0c;而从运行该算法的实际计算机中抽象出来。换句话说&#xff0c;这个量应该…

[物理层]信道的极限容量

信道的极限容量 信号在传输过程中会受到各种因素的影响&#xff0c;会造成信号失真。 失真的因素&#xff1a; 码元传输速率信号传输距离噪声干扰传输媒体质量 因此&#xff0c;怎么提高信息的传输速率&#xff1f; 奈氏准则 [ 香农公式 提高信道的传输速率&#xff1a; …

【C语言初阶(12)】数组(超详解)

文章目录 前言1. 一维数组1.1 一维数组的创建1.2 一维数组的初始化1.3 一维数组的访问1.4 一维数组在内存中的存储 2. 二维数组2.1 二位数组的创建2.2 二维数组的初始化2.3 二维数组的访问 3. 数组越界4. 数组作为函数参数4.1 冒泡排序介绍4.2 冒泡排序函数的设计 5. 数组名6. …

短视频矩阵管理系统私信群聊功能源码开发分享

短视频获客工具的兴起&#xff0c;也有越来越多的企业及商家在发现了更多商机。除了在做短视频推广获客的同时&#xff0c;也有不少意向客户潜藏在评论区需要我们深度挖掘&#xff0c;那么对于一些流量比较高的账号&#xff0c;想在成千上万的评论区里挖掘意向客户&#xff0c;…

C#一个开源跨平台的 HTTP 客户端库——RestSharp

一、RestSharp简介 GitHub - restsharp/RestSharp: Simple REST and HTTP API Client for .NETSimple REST and HTTP API Client for .NET. Contribute to restsharp/RestSharp development by creating an account on GitHub.https://github.com/restsharp/RestSharp …

SpringBoot实战(十九)集成Ribbon

目录 一、负载均衡的分类1.服务端负载均衡2.客户端负载均衡 二、定义和依赖1.Ribbon2.Spring Cloud Ribbon3.Spring Cloud Loadbalancer 三、搭建测试项目1.Maven依赖2.yaml配置3.配置类4.启动类5.接口类 四、测试五、补充&#xff1a;认识 Ribbon 的组件 一、负载均衡的分类 …

knife4j实现微服务swagger文档聚合

使用knife4j实现分布式swagger文档聚合 在项目开发过程中,接口文档的使用是在所难免的,但是在微服务场景下,多个服务之间的swagger是分散的,虽然swagger提供了微服务的聚合方式,配置过于繁琐,加之swagger本身的功能比较少,而且ui布局也比较蛋痛,此处推荐一款新框架用于增强swa…

RestTemplate中exchange发起请求

RestTemplate中exchange简单使用 简介什么是RestTemplate 常用方法实战 简介 在项目中&#xff0c;我们可能需要发起HTTP请求&#xff0c;请求目标URL来获取响应数据做一些处理。就需要用到HTTP请求工具&#xff0c;常用的Java类工具有&#xff1a;HttpUrlConnection、Apache …

[TIFS 2023] 用增强压缩感知做安全模型对比联邦学习

Secure Model-Contrastive Federated Learning With Improved Compressive Sensing | IEEE Journals & Magazine | IEEE Xplore摘要&#xff1a; 联邦学习&#xff08;FL&#xff09;已广泛应用于金融风险控制、电子政务、智慧医疗等各个领域。为了保护数据隐私&#xff0…

Leetcode每日一题:167. 两数之和 II - 输入有序数组(2023.7.8 C++)

目录 167. 两数之和 II - 输入有序数组 题目描述&#xff1a; 实现代码与解析&#xff1a; 暴力&#xff08;超时&#xff09; 双指针 原理思路&#xff1a; 二分 原理思路&#xff1a; 167. 两数之和 II - 输入有序数组 题目描述&#xff1a; 给你一个下标从 1 开始的…

MySQL性能瓶颈定位慢查询

目录 1 性能优化的思路2 引言3 MySQL慢查询日志3.1 慢查询参数3.2 开启慢查询日志&#xff08;临时&#xff09;3.3 开启慢查询日志&#xff08;永久&#xff09;3.4 慢查询测试 4 MySQL性能分析 EXPLAIN4.1 概述4.2 EXPLAIN字段介绍4.2.1 id字段4.2.2 select_type 与 table字段…

Leetcode-每日一题【21.合并两个有序链表】

题目 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1&#xff1a; 输入&#xff1a;l1 [1,2,4], l2 [1,3,4]输出&#xff1a;[1,1,2,3,4,4] 示例 2&#xff1a; 输入&#xff1a;l1 [], l2 []输出&#xff1a;…