IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Windows环境下VScode中用Cmake调试配置C++程序 -> 正文阅读

[开发工具]Windows环境下VScode中用Cmake调试配置C++程序

本文为学习笔记,学习资源链接:https://www.bilibili.com/video/BV13K411M78v

1 用g++的命令编译程序

  1. 首先写一个值交换的函数用于演示过程
    在这里插入图片描述
  2. 调出Terminal窗口
    在这里插入图片描述
  3. 进入当前路径下的终端,输入g++ .\main.cpp回车即可进行编译
    输入g++后,直接输入main.cpp并按Tab键即可自动补齐成上面的形式
    g++后面跟的是需要编译的文件名
    在这里插入图片描述
  4. 生成一个a.exe文件,在终端中输入a并按Tab键即可补齐为.\a.exe的形式,表明要运行该程序
    在这里插入图片描述

2. 用g++命令调试程序

  1. 同上,在终端中输入g++ -g .\main.cpp -o my_single_swap按回车执行,可得到一个名为my_single_swap.exe的文件
    其中 -g 表示生成带调试信息的.exe文件;-o 表示后面为自己命名的文件名

  2. 想要调试程序,点击如下按钮
    在这里插入图片描述

  3. 接着点击C++(GDB/LLDB)接着选择g++.exe - 生成和调试活动文件
    在这里插入图片描述
    在这里插入图片描述

  4. 在程序中需要的地方设置断点,点击菜单栏中的Run-Start Debugging
    在这里插入图片描述

  5. 运行后可以发现,VScode自动编译生成了一个与主函数同名的.exe文件,并且生成了几个.json文件
    其中 launch.json 文件与调试有关,能调试main.exe文件就在于launch.json文件中包含main.exe文件的路径
    在这里插入图片描述

总结: VScode单文件的调试:由tasks.json负责编译生成可执行文件(相当于帮你在终端里输入了g++ -g .\main.cpp -o main),之后由launch.json负责调试该生成的可执行文件

3. C++程序分文件编写与调试

3.1 分文件编写:

依然以上面的值交换函数为例,分别建立swap.cpp(用于放置函数),swap.h(用于放置函数声明)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在主函数中也需要包含一下swap.h的头文件

3.2 用g++命令编译多个文件

在终端中输入g++ -g .\main.cpp .\swap.cpp -o my_multi_swap回车即可编译

3.3 编译由多文件生成的程序

执行完上一步后,按照上面说到过的步骤create a new launch.json file,此时点开launch.json文件,如下图:
在这里插入图片描述
此时文件要调试的程序还是默认的main.cpp这个文件,不是我们刚刚生成的my_multi_swap.exe文件,这显然是不不对的,因为刚刚已经手动生成了可执行文件,这里只需要更改一下launch.json文件里的路径即可
在这里插入图片描述

4. 基于Cmake实现多文件的编译

  1. 在主目录里新建CmakeLists.txt的文件

  2. 在该文件中输入如下命令:
    在这里插入图片描述

  3. 配置VScode中的Cmake
    按下ctrl+shift+p点击Cmake:configure,选择GCC 8.1.0的编译器
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  4. 用Cmake编译程序
    在终端中输入cd .\build 进入build文件夹
    输入 cmake .. 配置Cmake
    输入mingw32-make.exe回车
    在这里插入图片描述
    生成的my_cmake_swap.exe文件将在build文件夹里

  5. 用launch.json调试程序
    打开launch.json文件,将生成的my_cmake_swap.exe添加到json文件的路径中,就可以调试该exe程序
    在这里插入图片描述

到目前为止,用Cmake编译调试C++程序的流程已经走完了,注意到在第3步配置Cmake的时候系统自动帮忙生成了build文件夹,这个也可以自己建立文件夹,步骤如下:

  • 在主目录下,终端里输入 mkdir bulid,即建立build这个文件夹
  • 紧接着输入cd build 即进入这个文件夹、
  • 之后是上文第四步中提到的,输入 cmake .. 配置Cmake—>>输入mingw32-make.exe回车

注意
在输入 cmake ..的时候,有可能因为安装了Visual Studio而调用微软的编译器,所以要改为输入cmake -G "MinGW Makefiles" ..进行Cmake的配置

5. 配置Json

正如前面所说的,两个主要的json文件,launch.json 和 tasks.json文件,由tasks.json文件对C++程序进行编译,由launch.json文件对编译生成的exe文件进行调试

5.1 launch.json

在这里插入图片描述

launch.json 文件如上图所示,重点关注图中的两个红框部分,这里第二各红框被注释掉,根据我们之前列举的例子,都是手动通过:

  • g++ -g .\main.cpp .\swap.cpp -o my_multi_swap(g++命令)
  • mingw32-make.exe(Cmake 命令)

率先编译好之后生成exe文件,直接修改launch.json里的路径进行调试的,所以不需要执行tasks.json,但是这种方法有个坏处,每次修改完程序之后都需要手动在终端执行一下命令,然后再能调试。那么有没有一种修改完了直接运行就能调试的方法呢?那就需要用到tasks.json。

5.2 tasks.json

  1. 建立一个tasks/.json文件
    输入ctrl+shift+p,在弹出的对话框中输入task,选择第一个:Tasks: configure Task,然后继续点击create tasks.json file from template
    在这里插入图片描述
    在这里插入图片描述
  2. 修改tasks.json
    打开tasks.json,可以看到下图所示,相当于我们在输入g++命令
    在这里插入图片描述
    根据需要,把相应的部分改成我们期望的即可。下图所示的命令就对应于g++的命令g++ -g .\main.cpp .\swap.cpp -o out
    在这里插入图片描述
  3. Cmake的tasks.json
    在这里插入图片描述
    上面的命令就相当于在执行
    cd build
    cmake..
    mingw32-make.exe
    在这里插入图片描述
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-11-19 17:49:20  更:2021-11-19 17:49:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 18:53:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码