Windows 11系统基于VScode、CMake搭建C/C++编译环境

Win11下基于VSCode与CMake对多文件C/C++项目进行编译+运行+调试【保姆级教程】 本篇介绍一下如何在 Windows11 的 VSCode 开发环境下利用 CMake 工具进行 C/C++ 多文件项目的编译、调试、运行…【绝对保姆级】 阅读详情

目录

一.安装VScode、CMake、MinGW

二.VScode安装插件

三.创建一个文件夹用于测试

四.基于CMake编译测试

五.配置launch.json和tasks.json文件用于调试

一.安装VScode、CMake、MinGW

自行安装

二.VScode安装插件

三.创建一个文件夹用于测试

项目结构:

calc.h

#ifndef CALC_H
#define CALC_H

#include <iostream>
using namespace std;
void add(int a,int b);
void mul(int a,int b);
void divi(int a,int b);
void sub(int a,int b);

#endif //CALC_H

add.cpp

#include "calc.h"

void add(int a,int b)
{
    cout <<"a+b="<<a+b<<endl;
}

divi.cpp

#include "calc.h"

void divi(int a,int b)
{
    cout <<"a÷b="<<a/b<<endl;
}

mul.cpp

#include "calc.h"

void mul(int a,int b)
{
    cout <<"a*b="<<a*b<<endl;
}

sub.cpp

#include "calc.h"

void sub(int a,int b)
{
    cout <<"a-b="<<a-b<<endl;
}

main.cpp

#include <iostream>
#include "calc.h"

int main()
{
    cout<<"hello calculator "<<endl;
    int a = 10;
    int b = 5;
    cout<<"a="<<a<<", b="<<b<<endl;
    add(a,b);
    mul(a,b);
    sub(a,b);
    divi(a,b);
    
}

基于g++编译测试:

1.在test文件夹下打开终端输入命令,生成.exe文件

g++ ./src/*.cpp main.cpp -o calc -I ./include/

2.执行.exe文件

./calc.exe

四.基于CMake编译测试

1.在test目录下创建CMakeLists.txt

CMakeLists.txt

#设置cmake最低版本限制
cmake_minimum_required(VERSION 3.10)
#设置项目名称
project(calc)
#设置包含的头文件目录,可设置多个目录,目录间用空格隔开
include_directories(include)
#aux_source_directory(dir VAR),搜索dir目录下的源文件,并将结果列表存储在变量VAR中
aux_source_directory(src SRC_DIR)
aux_source_directory(. CUR_DIR)
#add_executable(target src),指定使用源文件生成可执行程序target,${变量名}表示取变量值
add_executable(calc ${SRC_DIR} ${CUR_DIR})

2.在test目录下创建build文件夹,进入build目录执行命令:

cmake ..

可以看到build目录下生成了一系列文件,其中包括Makefile文件

4.输入命令

mingw32-make.exe

可以看到生成了calc.exe文件,运行可得到同样效果

五.配置launch.json和tasks.json文件用于调试

1.点击窗口右上角的齿轮,选择点亮选项,会在test目录下生成一个.vscode文件夹,该目录下生成了两个文件launch.json和tasks.json

tasks.json

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: gcc.exe 生成活动文件",
            "command": "E:\\tools\\QT\\QT\\Tools\\mingw1310_64\\bin\\gcc.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": "build",
            "detail": "调试器生成的任务。"
        }
    ],
    "version": "2.0.0"
}

launch.json

{
    "configurations": [
        {
            "name": "C/C++: gcc.exe 生成和调试活动文件",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "E:\\tools\\QT\\QT\\Tools\\mingw1310_64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: gcc.exe 生成活动文件"
        }
    ],
    "version": "2.0.0"
}

修改tasks.json和launch.json的内容

tasks.json

{
    "version": "2.0.0",
    "options": {
        "cwd": "${workspaceFolder}/build/" //进入build目录下
    },

    "tasks": [
        {
            //task1:使用cmake命令生成Makefile文件
            "label": "cmake", 
            "type": "shell", 
            "command": "cmake",
            "args": [
                ".."
            ]
        },
        {
            //task2:使用mingw32-make.exe命令基于Makefile文件构建当前项目
            "label": "make",
            "group":{
                "kind":"build",
                "isDefault":true
            },
            "command": "mingw32-make.exe",
            "args":[
            ]
        },
        {
            //任务集合:说明要执行的任务,作为 launch.json中 preLaunchTask配置项
            "label":"Build my project",
            "dependsOn":[
                "cmake",
                "make"                
            ]
        }
    ]
}

launch.json

{
    "configurations": [
        {
            "name": "C/C++: gcc.exe 生成和调试活动文件",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/build/calc.exe",//对应tasks.json文件执行后生成的exe程序路径
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "E:\\tools\\QT\\QT\\Tools\\mingw1310_64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "Build my project" //名称与tasks.json中任务集合的label相同
        }
    ],
    "version": "2.0.0"
}

2.json文件配置成功,在main.cpp加上断点,点击窗口左下角甲壳虫进行调试,

结果图:

参考:B站:爱编程的大丙

5. 基于CMake进行多文件调试_哔哩哔哩_bilibili

VScode搭建OpenCV环境(使用CMake和MinGW-w64) VS code搭建OpenCV环境(使用CMake和MinGW-w64)软件环境MinGW-w64安装与配置CMake安装与配置使用 CMake 生成 OpenCV 的 Makefile编译 OpenCVVScode配置参考链接 用vscode来写opencv代码需要自己编译OpenCV,主要用到MinGW-w64和CMake工具。 软件环境 Windows-10-64bit MinGW-x86_64-8.1.0-release-posix-seh-rt_v6-rev0 CMake-3.19.3 Open 阅读详情

相关推荐

CMake实战--Windows平台VSCode配置C++多文件项目构建与调试指南

本文提供了一份详细的Windows平台VSCode配置CMake多文件C++项目的实战指南。通过安装CMake、VSCode及必要扩展,并配合MinGW等编译器,手把手教你从零搭建项目结构、编写CMakeLists.txt,并实现高效的代码构建、运行与图形化调试,助你掌握现代化C++开发工作流。

Apple的专栏 1513

Windows/MacOS 上 VSCode 配置 C++:LLVM(Clang + Clangd + LLDB)

Windows/MacOS 上 VSCode 配置 C++:LLVM14(Clang + Clangd + LLDB)

FeignClaims的博客 1万+

Windows11下VSCode搭建C/C++开发环境全攻略(避坑指南)

本文详细指导在Windows11系统下使用VSCode搭建高效C/C++开发环境的完整流程。内容涵盖MinGW-W64编译器安装、系统环境变量配置、VSCode核心插件选择以及关键的JSON文件(c_cpp_properties.json, tasks.json, launch.json, settings.json)设置,并提供从运行、编译到图形化调试的实战测试与常见问题排查,助你避开常见陷阱,快速构建轻量且功能强大的编码环境。

tea88的博客 616

windows 下 vs code 格式化代码(clang-format)

可以直接把这个 exe 解压,里面有个 bin 目录,bin 目录有个 clang-format.exe (就要这个文件)2、windows 下载 LLVM-17.0.1-win64.exe (exe 结尾的安装包)格式化所有代码:shift + alt + f 或者右键代码空白处,有个格式化代码选项。5、格式化的个性化设置可以通过指定 .clang-format 文件来配置。格式化部分代码:选中部分代码,ctrl + k , ctrl + f。3、配置 clang-format.exe 路径。

qq_38781075的博客 8373

Python在Windows环境下驱动乐视三合一摄像头的深度图像处理实践

本文详细介绍了在Windows系统下,使用Python驱动乐视三合一摄像头进行深度图像处理的完整实践流程。从环境配置、驱动安装、OpenNI与OpenCV库的部署,到深度与彩色数据流的读取、可视化、三维点云转换以及背景移除等应用开发,为开发者提供了从零开始掌握深度摄像头编程的实战指南。

gitlab7runner的博客 232

Android音频学习(八)——AudioFlinger线程

在 PlaybackThread 的实现中,Flag 用于标识线程的特殊行为或配置。

miemie2014的博客 1399

Win11系统vscode配置C++环境:Vscode+MinGw+Cmake

在win11系统下,Vscode使用mingw和cmake配置C++开发环境

Aitotra的博客 5397

别再手动配IP了!保姆级教程:用Cisco Packet Tracer搞定DHCP服务器配置(附实验抓包分析)

本文提供了一份详细的Cisco Packet Tracer DHCP服务器配置教程,帮助用户告别手动分配IP的繁琐过程。通过构建多子网实验环境,逐步指导DHCP地址池设置、客户端测试及协议分析,并分享常见问题排查技巧,让网络配置更高效、更智能。

weixin_42535461的博客 339

关于在Vscode安装clangd的教程(分别在linux和windows)[很详细,很细节,很全!]【Windows端:缺少 language enginee的解决方法】

.本文章介绍的是:【很全!很详细!】 1.在Vscode远程连接linux的情况下,进行本地的clangd配置和linux端的clangd配置 2.在windows下使用clangd的方法(解决缺少 language enginee的方法)

qq_42764906的博客 3万+

Visual Studio Community与Visual Studio Community与VS Code有啥区别

Visual Studio Code提供了基本的代码编辑、调试和版本控制功能,以及丰富的插件和扩展库。Visual Studio Community和Visual Studio Code在功能上有很大的差异,Visual Studio Community提供了比Visual Studio Code更多的功能,包括代码重构、智能提示、图形化设计等。他的优势在于它的轻量级和灵活性。此外,Visual Studio Code还具有丰富的扩展和插件生态系统,用户可以通过安装插件来扩展其功能,从而满足自己的需求。

m0_56551554的博客 2843

车载监控系统升级指南:如何用XS9950A替换TP9950实现高清视频解码(附配置代码)

本文提供了从TP9950升级至XS9950A车载视频解码芯片的完整实战指南。详细解析了硬件设计调整、PCB布局要点,并重点分享了通过I2C配置寄存器实现高清HDCCTV视频解码与同轴音频集成的软件驱动代码与调试技巧,助力工程师平滑完成系统升级。

weixin_29268637的博客 371

VsCode+Clang+MinGw64+OpenGL(glut)——64位环境搭建

VsCode+Clang+MinGw64+OpenGL(glut)——64位环境搭建 一、写在前面 1.为什么选择VsCode+Clang+MinGW64进行C/C++开发? 首先,VsCode是一款轻量级文本编辑器,可以通过插件等扩展出适合自己的开发环境,它几乎支持现在常用的几大开发语言,且其性能、开源社区都做的不错。 其次,MinGW(Minimalist GNUfor Windows),它实际上是将经典的开源 C语言 编译器 GCC 移植到了 Windows 平台下,并且包含了 Win32API ,因

m0_46420903的博客 5585

如何利用Dpabi,AFNI,FSL软件计算种子点的功能连接?

fsl_glm 得到的是线性回归系数(beta coefficient),由于在自变量和因变量标准化(均值为 0,标准差为 1)的情况下,简单线性回归的回归系数和皮尔逊相关系数是相同的,因此这是一种间接的方法。(3)上一步得到的 PCC.nii.gz 文件是 Harvard-Oxford 概率模板中的后扣带回,每个体素中的数值(1-100)表示该体素属于 PCC 的概率,反映 PCC 在不同被试中的变异大小,也表示我们对于某个体素属于PCC 的信心。接下来,我们来聊聊功能连接在数据处理里的具体应用。

从事脑科学核磁共振方法学研究,在Nature communications等权威期刊发表研究论文,熟练掌握磁共振处理方法和统计学方法,欢迎大家和我交流。 7842

Windows下基于VSCode搭建C++开发环境(包含整合MinGW64、CMake的详细流程)

Windows下基于MinGW64和CMake工具,使用VSCode编辑器搭建轻量级C/C++开发环境

X_trans的博客 1万+

华为od 面试八股文_测试/测试开发_02_含答案

华为od 面试八股文_测试/测试开发_02_含答案

MISAYAONE的博客 2163

科技英语/专业英语——改错总结【2】

1.固定句式 make it + adj + 句子 例:These features make the electronic systems difficult to intercept this kind of signal. 正确形式:These features make it  difficult for the electronic systems  to intercept

MISAYAONE的博客 1732

Windows下的 VSCode 平台 CUDA C/C++ 编程平台搭建

本文针对CUDA在windows平台上使用vscode进行编译的环境搭建和程序示例进行详细讲解。

weixin_43202898的博客 4756

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

在VSCode中配置OpenCV的C++环境(Windows11)

主要分为OpenCV的源码下载,CMake工具下载,编译OpenCV源码,在VSCode中对OpenCV进行C++的环境配置

zniykew的博客 4421

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

vscode开发c/c++语言环境搭建(配合cmake),远程开发(免密登录)

开发c/c++语言有多种工具软件,老牌的vc6.0、devc++、CodebBocks,比较新的有微软出品的Visual Studio2022,Jetbrains 出品的Clion这些都是开箱即用IDE,无需安装编译器(内置)。而另一种方法是文本编辑器加编译器组合。常见的编辑器有Sublime Text、Visual Studio Code(VSCode)、Atom、Vim、Notepad++,配合windos版gcc完成编译执行。

qq_49812116的博客 3160

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

VSCode搭建OpenCV的c++环境(windows10)

VsCode搭建OpenCV的c++环境 版本和下载: 1.vscode:官网下载最新版,建议zip压缩包直接下载解压安装。 2.OpenCV源码:

you_zai的博客 3万+

在 Windows 系统下配置 VSCode + CMake + Ninja 进行 C++ 或 Qt 开发

在 Windows 系统下配置 VSCode + CMake + Ninja 进行 C++ 或 Qt 开发,是一个轻量级但功能强大的开发环境。下面我将分步骤详细说明如何搭建这个开发环境,支持纯 C++ 和 Qt 项目。

old_power的博客 4117

Windows11下VSCode搭建C/C++开发环境:从零配置到高效编程

本文详细指导在Windows11系统下使用VSCode搭建C/C++开发环境的完整流程,包括编译器安装、环境变量配置、必备插件推荐及高效调试技巧。重点解析VSCode配置文件优化方案,帮助开发者快速构建支持C++20标准的高效编程环境,提升Windows平台的C/C++开发体验。

weixin_30832143的博客 434

Windows下使用cmake vscode搭建 C/C++开发调试环境

在windows下搭建的方式,在第3章之后同样适用于Linux系统,大致步骤均相同

m0_56208280的博客 1965

基于VSCode和CMake进行C++多文件编译及调试

“避坑说明:头文件名称不要设置为include,会识别不到,报错” 对应文件代码如下: 头文件 print.h #ifndef _PRINT_H_ #define _PRINT_H_ #include <iostream> using namespace std; void print(); #endif 源文件 print.cpp #include "print.h

Acquisition0818的博客 4338

VSCode在Windows中调试C/C++

文章目录下载VScode下载编译器安装编译器VScode安装插件VScode设置调试C/C++ 下载VScode 官方地址:https://code.visualstudio.com/ 下载编译器 C/C++的mingw-w64编译器下载地址: https://sourceforge.net/projects/mingw-w64/files/mingw-w64/ 后缀说明 DWARF:一种带调试信息(DWARF- 2(DW2)EH)的包, 所以比一般的包尺寸大,仅支持32位系统 SJLJ:跨平台,支

qq_24601427的博客 2782

Windows平台使用VSCode配置Yaml-cpp

Windows平台使用VSCode配置Yaml-cppVSCode下载、安装VSCode配置C++环境CMake下载Yaml-cpp下载VSCode中配置测试 VSCode下载、安装 可参考优快云 VSCode安装 VSCode配置C++环境 可参考优快云 VSCode配置C++环境 CMake下载 可参考优快云 CMake下载 Yaml-cpp下载 源码地址YAML-CPP 下载后解压到自己目标文件夹下 新建build文件夹 进入到build文件夹 打开CMake-gui 点击“Configur

weixin_46267443的博客 4382
上一篇: 使用gcc编译器生成静态链接库并进行使用
下一篇: 大模型入坑指南一:本地部署大模型
10710
博客等级 码龄6年 1168粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

10710

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值