欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

VSCode中配置CMake,通过CMake断点调试程序

程序员文章站 2024-02-22 21:22:46
...

第一步:

1.引入make

在VSCode中编写C++程序,只能编译一个源文件,如果需要同时编译多个源文件,那么就需要批处理工具——CMake工具或者Clion(专业的);
make工具可以看成是一个智能的批处理工具,它本身并没有编译和链接的功能,而是用类似于批处理的方式——通过调用makefile文件中用户指定的命令来进行编译和链接的。

2.什么是makefiles?
一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个Shell脚本一样,也可以执行操作系统的命令。
make需要按照makefile中的命令执行!
makefile命令中就包含了调用许多编译器(如我们这里多用到的gcc编译器)去编译某个源文件的命令。
人总是“懒惰的”,makefile在一些简单的工程完全可以人工手写,但是当工程非常大的时候,手写makefile也是非常麻烦的,如果换了个平台makefile又要重新修改。因此我们引入了cmake

3.什么是cmake呢?
CMake这个名字是cross platform make的缩写。虽然名字中含有“make”,但是CMake和Unix上常见的“make”系统是分开的,而且更为高阶。
CMake可以更加简单的生成makefile文件给上面的make用。当然CMake还可以跨平台生成对应平台能用的makefile,你不用再自己去修改了。

4.CMake生成makefile的原理
cmake生成makefile的原理是根据一个叫CMakeLists.txt文件(学名:组态档)去生成makefile。当然CMakeLists.txt就需要你自己去手写了!

5.编写CMakeLists.txt文件是重点

 

第二步:

1、下载安装 VSCode

2、下载安装 MinGW

3、下载安装 CMake

4、在VSCode里面安装插件

VSCode中配置CMake,通过CMake断点调试程序

VSCode中配置CMake,通过CMake断点调试程序

5、打开VSCode,ctrl+shift+P

VSCode中配置CMake,通过CMake断点调试程序

VSCode中配置CMake,通过CMake断点调试程序

VSCode中配置CMake,通过CMake断点调试程序

6、然后导入一个文件,开始撸码,在这编写两个文件,一个是测试程序,一个是CMakeLists.txt

CMakeLists.txt

cmake_minimum_required(VERSION 2.8.9)
project(directory_test)

#Bring the headers, such as Student.h into the project
include_directories(include)

#Can manually add the sources using the set command as follows:
#set(SOURCES src/mainapp.cpp src/Student.cpp)

#However, the file(GLOB...) allows for wildcard additions:
file(GLOB SOURCES "src/*.cpp")

add_executable(last ${SOURCES})

set (CMAKE_CXX_FLAGS “${CMAKE_CXX_FLAGS} -g”)


这个文件也可以通过ctrl+shift+P  然后输入

VSCode中配置CMake,通过CMake断点调试程序

VSCode中配置CMake,通过CMake断点调试程序

VSCode中配置CMake,通过CMake断点调试程序

注意:  1、CMakeLists.txt 文件中的这行代码 如果你要debug的时候就写上 否则不要写,编译的时候会报错

                  #set (CMAKE_CXX_FLAGS “${CMAKE_CXX_FLAGS} -g”)

             2、需要在MinGW安装路径下进行操作,本来只有mingw32-make.exe文件,你需要复制一份改名为make.exe,只有这样才能在终端使用 make 命令操作,如下图:

VSCode中配置CMake,通过CMake断点调试程序

 

第三步:Debug 断点调试

1、在源码左边进行加断点

VSCode中配置CMake,通过CMake断点调试程序

2、按照一下操作,生成launch.json文件

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 启动",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/build/last.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "E:/MinGW/mingw64/bin/gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            //"preLaunchTask": "C/C++: g++.exe build active file"
        }
    ]
}

VSCode中配置CMake,通过CMake断点调试程序

VSCode中配置CMake,通过CMake断点调试程序