五、windows上vscode构建c/c++环境

1、安装vscode

官网下载界面:https://code.visualstudio.com/Download

  • 请根据电脑系统安装所需版本点击下载链接(一般情况下点击windows按钮即可)
  • 鼠标左键双击,即可运行安装程序,点击【确认】;
  • 选择安装路径;
  • 创建桌面快捷方式;
  • 添加安装路径到系统环境变量;
  • 等待安装完成即可。

2、安装插件

  • 打开vscode,快捷键Ctrl+Shift+X进入插件市场安装插件
  • C/C++
  • clangd
  • Cmake、Cmake Tools
  • Doxygen
  • GBKtoUTF8

2.1 Cmake配置

快捷键Ctrl+,快速打开vscode设置界面,点击右上方【Open Settings (UI)】进入settings.json全局默认配置文件,添加如下设置

    "cmake.pinnedCommands": [

        "workbench.action.tasks.configureTaskRunner",

        "workbench.action.tasks.runTask"

    ],

    // 配置cmake3.31.0路径window系统

    // "cmake.cmakePath": "D:\\Program Files\\CMake\\bin\\cmake.exe",

    "cmake.showOptionsMovedNotification": false,

    "cmake.showConfigureWithDebuggerNotification": false,

    // 配置 CMake 构建目录

    "cmake.buildDirectory": "${workspaceFolder}/build",

    // 配置 CMake 构建环境变量,使其生成编译命令数据库相当于

    // CMakeLists.txt文件里set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

    "cmake.buildEnvironment": {

        "CMAKE_EXPORT_COMPILE_COMMANDS": "ON"

    },

2.2、配置clangd

"clangd.arguments": [

        "--background-index",

        "--log=verbose",

        "--clang-tidy",

        // window配置

        "--query-driver=D:/Program Files/LLVM/bin/bin/clang++",

        // "--query-driver=/usr/bin/gcc,/usr/bin/g++",

        "--compile-commands-dir=${workspaceFolder}",

        "--header-insertion=never",

        "--all-scopes-completion",

        "--function-arg-placeholders",

        "--pretty"

    ],

 // clangd头文件,系统文件查询

    "clangd.fallbackFlags": [

        "-ID:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",

        "-ID:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32"

    ],

4、c/c++项目配置

在当前工作区创建.vscode文件夹并新建c_cpp_properties.json和settings.json配置文件

4.1.c_cpp_properties.json配置

{

    "configurations": [

        {

            "name": "Win32",

            "includePath": [

                "${workspaceFolder}/**",

                "D:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",

                "D:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",

                "D:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",

                "D:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include",

                "D:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed",

                "D:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"

            ],

            "defines": [

                "_DEBUG",

                "UNICODE",

                "_UNICODE"

            ],

            "windowsSdkVersion": "10.0.17763.0",

            "compilerPath": "D:/Program Files/mingw64/bin/g++.exe",

            "cStandard": "c17",

            "cppStandard": "c++17",

            "intelliSenseMode": "gcc-x64"

        }

    ],

    "version": 4

}

注意【选项】MinGW-w64获取头文件路径方式:按快捷键Win+R,输入cmd回车,gcc -v -E -x c++ -,如下图示。

4.2 settings.json配置

{

    "cmake.cmakePath": "D:\\Program Files\\CMake\\bin\\cmake.exe",

    "clangd.path": "D:\\Program Files\\LLVM\\bin\\clangd.exe",

}

上述主要配置cmake和clangd在windows的安装路径 。

 4.3 .clangd文件配置

当前工作区新建.clangd文件,具体配置如下:

CompileFlags:                             
    Add: 
      [
        -Xclang,
        -Wno-unused-variable, #移除未使用的变量警告
        -ID:\\Program Files\\mingw64\\x86_64-w64-mingw32\\include,
      ]

4.4 CMakeLists.txt配置

具体配置如下:

cmake_minimum_required(VERSION 3.10)

project(my VERSION 1.0)

set(CMAKE_C_STANDARD 17)

set(CMAKE_CXX_STANDARD 20)

set(CMAKE_CXX_STANDARD_REQUIRED ON)

include_directories(

    ${PROJECT_SOURCE_DIR}/include

)

add_library(hellworld src/helloworld.c)

add_executable(MyExecutable src/main.c)

target_link_libraries(MyExecutable hellworld)

5、总结

根据上述的步骤,即可完成C/C++在vscode上进行开发。

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

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

相关文章

三格电子——新品IE103转ModbusTCP网关

型号:SG-TCP-IEC103 产品概述 IE103转ModbusTCP网关型号SG-TCP-IEC103,是三格电子推出的工业级网关(以下简称网关),主要用于IEC103数据采集、DLT645-1997/2007数据采集,IEC103支持遥测和遥信,可…

java.util.ConcurrentModificationException异常出现的原因及解决方法

上一篇博客: 写在前面:大家好!我是晴空๓。如果博客中有不足或者的错误的地方欢迎在评论区或者私信我指正,感谢大家的不吝赐教。我的唯一博客更新地址是:https://ac-fun.blog.csdn.net/。非常感谢大家的支持。一起加油…

数据结构---------二叉树前序遍历中序遍历后序遍历

以下是用C语言实现二叉树的前序遍历、中序遍历和后序遍历的代码示例&#xff0c;包括递归和非递归&#xff08;借助栈实现&#xff09;两种方式&#xff1a; 1. 二叉树节点结构体定义 #include <stdio.h> #include <stdlib.h>// 二叉树节点结构体 typedef struct…

设计模式の命令访问者迭代器模式

文章目录 前言一、命令模式二、访问者模式三、迭代器模式 前言 本篇是关于设计模式中命令模式、访问者模式、以及迭代器模式的学习笔记。 一、命令模式 命令模式是一种行为型设计模式&#xff0c;其核心目的在于将命令的发送者和接受者解耦&#xff0c;提供一个中间层对命令进行…

UE5仿漫威争锋灵蝶冲刺技能

这两天玩了一下漫威争锋Marvel Rivals&#xff0c;发现是UE5做的&#xff0c;对里面一些角色技能挺感兴趣的&#xff0c;想简单复刻一下技能功能&#xff0c;顺便复习一下学过的知识 首先把摄像机设置调整一下 CameraBoom里搜索lag 把摄像机延迟关掉 &#xff0c;这样摄像机就…

常用类晨考day15

1.基本数据类型以及对应包装类 Byte Short Integer Long Float Double Boolean Character 2.什么是自动拆箱和装箱&#xff0c;jdk版本有什么要求&#xff1f;代码举 例并标明 Integer a 100; // 装箱 int b a; // 拆箱 从JDK1.5才开始支持 3.NumberFormatException是什么异常…

Vue中<script setup></script>的主要语法元素和特性

<script setup>是 Vue 3 中引入的一种新的组件内脚本语法糖&#xff0c;它带来了更简洁、高效的组件逻辑编写方式。 以下是 <script setup> 的主要语法元素和特性&#xff1a; 1.导入和使用 直接在 <script setup> 中导入依赖&#xff0c;不需要在 compon…

深度学习推理速度优化指南

深度学习推理速度优化指南 简介一、显卡频率设置二、查看当前显卡频率三、调整显卡频率范围注意事项总结 简介 本文旨在探讨深度学习推理过程中 CUDA 或 TensorRT 推理速度变慢的问题&#xff0c;并提供实用的解决策略。我们将从显卡频率设置、模型权重优化等方面出发&#xf…

etcd+京东hotkey探测使用

qhotKey链接 京东hotkey把热点数据默认缓存在了本地缓存caffeine中&#xff0c;也可以存到redis中&#xff0c;但是京东hotkey的SDK没有redis的实现方法&#xff0c;因此需要自己实现。 官方目录结构下&#xff1a;分别是client客户端&#xff08;要打包引入到自己的项目&…

如何实现层叠布局

文章目录 1 概念介绍2 使用方法3 示例代码我们在上一章回中介绍了GirdView Widget,本章回中将介绍Stack这种Widget,闲话休提,让我们一起Talk Flutter吧。 1 概念介绍 在Flutter中Stack主要用来叠加显示其它的Widget,类似我们日常生活中的楼层或者说PS中的图层,因此它也是一…

Java 上机实践11(组件及事件处理)

&#xff08;大家好&#xff0c;今天分享的是Java的相关知识&#xff0c;大家可以在评论区进行互动答疑哦~加油&#xff01;&#x1f495;&#xff09; 目录 Plug&#xff1a;程序实现 方法一&#xff08;记事本&#xff09; 方法二&#xff08;IDEA&#xff09; 实验一&am…

UVM 验证方法学之interface学习系列文章(十一)virtual interface 再续篇

一 前言 并非总是可以将被测单元(DUT)视为一个黑盒,即仅监控和驱动DUT的顶层端口信号。这一点在从模块级测试转向更大规模的系统级测试时尤为明显。有时,我们需要了解实现细节以便访问DUT内部的信号。这被称为白盒验证。 Verilog一直提供从其他作用域访问几乎任何层次结构…

本地如何启动casdoor

1、下载代码 GitHub - casdoor/casdoor at v1.777.0 下载对应tag的代码&#xff0c;我这里选择的时v1.777.0版本 通过网盘分享的文件&#xff1a;casdoor-1.777.0.zip 链接: https://pan.baidu.com/s/1fPNqyJYeyfZnem_LtEc0hw 提取码: avpd 2、启动后端 1、使用goland编译…

CSDN外链失效3:

参考我之前的博客&#xff1a; 外链失效博客1&#xff1a;随想笔记1&#xff1a;CSDN写博客经常崩溃&#xff0c;遇到外链图片转存失败怎么办_csdn外链图片转存失败-CSDN博客 外链失效博客2&#xff1a;网络随想2&#xff1a;转语雀_md格式转语雀lake格式-CSDN博客 markdown…

Kubernates

kubernates是一个开源的&#xff0c;用于管理云平台中多个主机上的容器化的应用&#xff0c;Kubernetes的目标是让部署容器化的应用简单并且高效&#xff08;powerful&#xff09;,Kubernetes提供了应用部署&#xff0c;规划&#xff0c;更新&#xff0c;维护的一种机制。 架构…

Pycharm 更改字体大小

更改代码字体的大小 更改软件字体的大小

Ubuntu20.04解决docker安装后is the docker daemon running? 问题

Ubuntu20.04解决docker安装后is the docker daemon running? 问题 问题描述问题分析问题解决 问题描述 docker info后报错 ERROR: Cannot connect to the Docker daemon at unix:///root/.docker/desktop/docker.sock. Is the docker daemon running? errors pretty printi…

STM32完全学习——CRC校验

一、STM32F407CRC校验的补充 由于STM32F407的CRC校验&#xff0c;并没有什么配置的选项&#xff0c;就会导致他只能进行32位&#xff0c;且初始值是0XFFFFFFFF&#xff0c;输入和输出都没有反转的CRC校验。为了弥补这些不足点&#xff0c;于是自己编写函数来增加这些功能 //输…

CSS系列(27)- 图形与滤镜详解

前端技术探索系列&#xff1a;CSS 图形与滤镜详解 &#x1f3a8; 致读者&#xff1a;探索CSS的艺术表现力 &#x1f44b; 前端开发者们&#xff0c; 今天我们将深入探讨 CSS 图形和滤镜效果&#xff0c;学习如何创建引人注目的视觉效果。 基础图形 &#x1f680; 几何形状…

四、使用langchain搭建RAG:金融问答机器人--构建web应用,问答链,带记忆功能

经过前面3节完成金融问答机器人基本流程&#xff0c;这章将使用Gradio构建web应用&#xff0c;同时加入memory令提示模板带有记忆的&#xff0c;使用LCEL构建问答链。 加载向量数据库 from langchain.vectorstores import Chroma from langchain_huggingface import HuggingF…