【配置环境】VS Code中C/C++环境搭建

目录

一,VS Code简单介绍和插件安装

二,MinGW简单介绍和配置环境变量

三,简单测试C/C++代码

四,详解文件编译和调试

1,单文件编译和调试

2,多文件编译和调试


一,VS Code简单介绍和插件安装

1.VS Code是一个微软旗下的一个广受欢迎的开源文本编辑器,相对于其它的编辑器(如NotePad++),我就对这款编辑器爱不释手,官网下载链接

比如炫酷的主题,漂亮的外观,集成了终端,跨平台的、高性能的、轻量级的体积等等数不胜数,当然,VS Code最厉害的地方在于它有着成熟的插件市场以满足开发者的需求(说的就是我哈),得益于这个插件市场,我们可以把VS Code打造成各种开发环境(比如Python) 

 2.安装需要的插件,丰富的插件市场,凭个人喜好也可安装其它插件哈。

3.为方便调试运行程序,对安装的 .run 插件进行如下配置。  

二,MinGW简单介绍和配置环境变量

1.温馨提示:VS Code只是一款文本编辑器,不是编译器。

2.本质上和Windows的记事本以及NotePad++是一个东西,你可以用VS Code编写代码源文件,但可别指望它能编译运行程序了,那是编译器的工作,所以为了能在VS Code里面编译并运行C/C++源文件,我们就需要去额外的安装C和C++的编译器:GCC

3.Windows平台上的GCC移植版本是 MinGW,我们用MinGW其实就是用里面的GCC来编译我们写的C/C++源文件。

4.进入MinGW官网后按如图进行下载就行了

 4.解压到没有中文和空格的目录下,然后按如下配置环境变量。

5.win+r 键后输入cmd,回车弹出命令终端后输入:gcc --version 来验证一下是否配置环境变量成功。

三,简单测试C/C++代码

1.输入如下代码后运行效果如下。

2.上面说到运行成功后会自动生成.vscode文件,里面有个tasks.json配置文件,该json配置文件内容的解释大致如下,。

{
    "version": "2.0.0",
    "tasks": [
        {//这个大括号里是‘构建(build)’任务
            "label": "build", //任务名称,可以更改,不过不建议改
            "type": "shell", //任务类型,process是vsc把预定义变量和转义解析后直接全部传给command;shell相当于先打开shell再输入命令,所以args还会经过shell再解析一遍
            "command": "gcc", //编译命令,这里是gcc,编译c++的话换成g++
            "args": [    //方括号里是传给gcc命令的一系列参数,用于实现一些功能
                "${file}", //指定要编译的是当前文件
                "-o", //指定输出文件的路径和名称
                "${fileDirname}\\bin\\${fileBasenameNoExtension}.exe", //承接上一步的-o,让可执行文件输出到源码文件所在的文件夹下的bin文件夹内,并且让它的名字和源码文件相同
                "-g", //生成和调试有关的信息
                //"-Wall", // 开启额外警告
                //"-static-libgcc",  // 静态链接libgcc
                "-fexec-charset=GBK", // 生成的程序使用GBK编码,不加这一条会导致Win下输出中文乱码
                "-std=c11", // 语言标准,可根据自己的需要进行修改,写c++要换成c++的语言标准,比如c++11
            ],
            "group": {  //group表示‘组’,我们可以有很多的task,然后把他们放在一个‘组’里
                "kind": "build",//表示这一组任务类型是构建
                "isDefault": true//表示这个任务是当前这组任务中的默认任务
            },
            "presentation": { //执行这个任务时的一些其他设定
                "echo": true,//表示在执行任务时在终端要有输出
                "reveal": "always", //执行任务时是否跳转到终端面板,可以为always,silent,never
                "focus": false, //设为true后可以使执行task时焦点聚集在终端,但对编译来说,设为true没有意义,因为运行的时候才涉及到输入
                "panel": "new" //每次执行这个task时都新建一个终端面板,也可以设置为shared,共用一个面板,不过那样会出现‘任务将被终端重用’的提示,比较烦人 
            },
            "problemMatcher": "$gcc" //捕捉编译时编译器在终端里显示的报错信息,将其显示在vs code的‘问题’面板里
        },
        {//这个大括号里是‘运行(run)’任务,一些设置与上面的构建任务性质相同
            "label": "run",
            "type": "shell",
            "dependsOn": "build", //任务依赖,因为要运行必须先构建,所以执行这个任务前必须先执行build任务,
            "command": "${fileDirname}\\bin\\${fileBasenameNoExtension}.exe", //执行exe文件,只需要指定这个exe文件在哪里就好
            "group": {
                "kind": "test", //这一组是‘测试’组,将run任务放在test组里方便我们用快捷键执行
                "isDefault": true
            },
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": true, //这个就设置为true了,运行任务后将焦点聚集到终端,方便进行输入
                "panel": "new"
            }
        }
    ]
}

四,详解文件编译和调试

1,单文件编译和调试

  • 编译(这里就不用 Code Runner 插件支持的一键编译了)

编写如下图测试代码完成后,点击菜单栏的 终端 —> 新终端 打开 Windows 自带的 power shell,支持 Linux 命令,流程准备如下:

# 编译c源文件
$ gcc xxx.c -o 可执行程序名

# 编译C++源文件
$ g++ xxx.cpp -o 可执行程序名

依据源文件的类型(是C还是C++)在终端中输入上述对应命令来编译源文件,效果如下: 

  • 调试

点击设置(小钮轮),选择对应的编译套件中的编译器(这里我选择上面安装的 MinGW),然后会自动生成一个叫 .vscode 的目录,并且里面有两个文件 launch.json tasks.json

按上述步骤生成的 .vscode 目录后就可以不用管了,接下来在指定行位置设置断点(快捷键 F9),使用快捷键 F5 或者通过菜单项 运行 —> 启动调试 就可以进行调试操作了(非调试运行快捷键 Ctrl + F5),如下图:

2,多文件编译和调试

  • 编译(两种方式:基于命令,基于CMake)

        1.基于命令(不常用)

# C++程序编译
$ g++ ./src/demo1.cpp ./src/demo2.cpp ./main.cpp -o main -I ./include
# 编译 src 目录下所有的 .cpp 文件
$ g++ ./src/*.cpp ./main.cpp -o main -I ./include

 上面两种命令可自行选择,测试案例结构如下图,正确输出结果,命令形式测试成功:

        2.基于CMake

第一步先安装如下两个插件

第二步在源文件所在的工作区目录添加一个 CMake 所需的 CMakeLists.txt 依赖文件,在这文件中添加如下语句

project(VS-CODE-C++)   #设置项目名称,可以随便取
aux_source_directory(src SRC_SUB)   #demoOne.cpp demoTwo.cpp 源文件所在的 src目录
aux_source_directory(. SRC_CUR)     #main.cpp 所在的当前的目录下
add_executable(main ${SRC_SUB} ${SRC_CUR})  #取出变量 SRC_SUB,SRC_CUR 里的源文件后,生成的目标可执行程序名称为 main
include_directories(include)    #设置包含的头文件

project(projectname [CXX][C][Java]):指定项目工程名称,后面指定的支持语言列表可忽略

aux_source_directory(dir var):第一个参数 dir 是指定源文件所在的目录,第二个参数 var 是用于存储这些源文件列表的变量

add_executable(target src):指定源文件 src (${var}可以取出变量中的源文件列表),然后生成可执行程序 target

include_directories(headDirPath):用来向工程添加多个指定头文件的搜索路径,路径之间用空格分开

第三步来配置 cmake,按快捷键 ctrl+shift+p,在窗口输入 CMake configure,选中 配置 项

如果 VsCode 加载不到编译器,会弹出如下窗口,选择 MinGW 套件中的GCC编译器,若没弹出MinGW编译器 查看是否配置好了环境变量,不要选择 VS 的编译器,如下

 备注:但这里我遇到了一个问题,如下(没遇到就直接跳到第四步哈)

接下来就来解决这个问题,按如下操作打开 CMake Tools 插件里的 settings.json 文件

打开该 Json 文件后,自行将 "cmake.generator": "MinGW Makefiles" 添加到某一行,如下显示

第四步在配置完 cmake 之后,会在当前工程工作区生成一个 build 目录,该目录内容如下

打开 vscode 的终端(点击菜单项 终端 —> 新建终端) ,在终端执行下述命令

1,进入到生成的 build 目录:cd build

2,通过 cmake 工具执行基于编写的 CMakeLists.tst 来生成 MakeFile 文件:cmake .

3,通过 make 工具生成的 makefile 文件来构建项目,该工具的 32 位在 MinGw 中的构建工具是 mingw32-make.exe,64 位的MinGW中的构建工具是 mingw64-make.exe,在终端输入 mingw 加tab 键会自动跳出对应位数的构建工具全称,当前使用的是 mingw32-make.exe

不想通过命令形式可按如下图解释就行操作(和上面二选一哈)

第五步就总结一下项目工作区的文件列表如下(了解就行哈)

  • 调试

生成 .vscode 目录可翻看前面的步骤, 然后在源文件中某处设置断点,点击界面底部的 小虫子按钮 可进行调试,如下

如果通过按快捷键 F5 启动调试,但会报如下错误,这是因为 .vscode 目录下的 tasks.jsonlaunch.json 文件内容有的错误导致了,至于怎么弄看这个哔站视频CMake 多文件调试

  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

拉伊卜

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

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

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

打赏作者

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

抵扣说明:

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

余额充值