网站建设资讯

NEWS

网站建设资讯

Windows下使用cmakevscode搭建C/C++开发调试环境-创新互联

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

成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的祁阳网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
1. MinGW的下载与安装

MinGW提供了 C/C++编译器,可以将程序源代码编译为可以在 Windows 中运行的可执行程序

1.1 下载地址

https://sourceforge.net/projects/mingw-w64/
在这里插入图片描述

1.2 下载流程

在这里插入图片描述
不推荐Online Installer , sjij版本较稳定
在这里插入图片描述
点击下载后跳转页面读秒,读秒后开始下载
在这里插入图片描述
在这里插入图片描述
安装完成后将其解压到指定目录,并且将该文件夹中的 bin目录添加进系统的环境变量
将文件夹设置为环境变量方法
在这里插入图片描述

1.3 检验是否配置成功
  • win + r,打开cmd命令窗口
  • 输入 gcc --version
    在这里插入图片描述
  • 输入 g++ --version
    在这里插入图片描述
2. cmake的下载与安装 2.1 下载地址

https://cmake.org/download/

2.2 下载流程

页面下滑,如图所示(推荐下载压缩包)
在这里插入图片描述
将下载下来的压缩包解压到自定义路径,并且将该文件夹下的bin目录添加进系统环境变量
将文件夹设置为环境变量方法
在这里插入图片描述

2.3 检验是否配置成功
  • win + r,打开cmd命令窗口
  • 输入 cmake --version (我装的是3.23版本)
    在这里插入图片描述
2.4 cmake的常用指令
  • cmake_minimum_required - 指定使用的CMake版本不低于xxx
# CMake版本不低于 3.10
cmake_minimum_required(VERSION 3.10)
  • project - 定义工程名称,并可指定工程支持的语言
# 指定工程名为 TEST,指定支持的语言为C++(指定支持语言可省略,表示支持所有语言)
project(TEST C++)
  • set - 显式的定义变量
# 定义SRC变量,其值为main.cpp hello.cpp,相当于使用SRC来替换main.cpp hello.cpp
set(SRC main.cpp hello.cpp)
  • include_directories - 向工程添加多个特定的头文件搜索路径,相当于指定g++编译器的-I参数
# 将inc添加到头文件搜索路径
include_directories(inc)
  • add_compile_options - 添加编译参数
# 添加编译参数 -Wall(输出警告信息) -std=c++11(支持C++11标准) -O2(优化级别)
add_compile_options(-Wall -std=c++11 -O2)
  • add_subdirectory - 向当前工程添加存放源文件的子目录,并可以指定中间二进制和目标二进制
    存放的位置
# 添加src子目录,src中需有一个CMakeLists.txt
add_subdirectory(src)
  • aux_source_directory - 发现一个目录下所有的源代码文件并将列表存储在一个变量中,这个指
    令临时被用来自动构建源文件列表存放的位置
# 定义SRC变量,其值为当前目录下所有的源代码文件
aux_source_directory(. SRC)
# 编译SRC变量所代表的源代码文件,生成main可执行文件
add_executable(main ${SRC})
  • add_executable - 生成可执行文件
# 编译main.cpp生成可执行文件main
add_executable(main main.cpp)
  • CMAKE_BUILD_TYPE 编译类型(Debug, Release)
# 设定编译类型为debug,调试时需要选择debug(相当于带调试信息)
set(CMAKE_BUILD_TYPE Debug)
# 设定编译类型为release,发布时需要选择release
set(CMAKE_BUILD_TYPE Release)
3. VScode插件

在这里插入图片描述

4. 使用camke编译一个简单工程 4.1 代码结构

在这里插入图片描述

4.2 代码示例

swap.h

#ifndef SWAP_H
#define SWAP_H

#includeclass SWAP {public:
    SWAP(int a, int b);
    void swap();
    void print();
    ~SWAP();
private:
    int a;
    int b;
};

#endif

swap.cpp

#include "swap.h"

SWAP::SWAP(int a, int b)
{this->a = a;
    this->b = b;
}

SWAP::~SWAP() {};

void SWAP::swap()
{int c = this->a;
    this->a = this->b;
    this->b = c;
}

void SWAP::print()
{std::cout<< "a = "<< this->a<SWAP tmp(3,5);
    tmp.print();
    tmp.swap();
    std::cout<< "After exchange:"<
4.3 在根目录下新建一个CMakeLists.txt文件

在这里插入图片描述
CMakeLists.txt

#cmake版本不低于 3.10
cmake_minimum_required(VERSION 3.10)
#工程名为 SWAP
project(SWAP)
#定义SRC变量
set(SRC main.cpp src/swap.cpp)
#设定编译类型为debug,生成的可执行文件可编译
set(CMAKE_BUILD_TYPE Debug)
#指定 inc 为头文件搜索路径
include_directories(inc)
#生成可执行文件main
add_executable(main ${SRC})
4.4 vscode中配置cmake
  • 先查看左下方状态栏是否显示cmake状态
    在这里插入图片描述

  • 如果左下方不显示可以在拓展管理中,先禁用再启用,之后就可以显示
    在这里插入图片描述

  • 选择Debug,包含调试信息,方便后期调试
    在这里插入图片描述

  • 选择搜索到的编译器
    在这里插入图片描述

  • 点击左下方 build
    在这里插入图片描述

  • 点击 三角符号,运行可执行文件
    在这里插入图片描述

5. 调试 5.1 在main.cpp 第7行添加断点

可鼠标单击行号前空白或使用快捷键 F9
在这里插入图片描述

5.2 启动调试 5.2.1 点击左下角符号

在这里插入图片描述
在这里插入图片描述

5.2.2 当文件内容修改时,就必须先点击左下方 build ,另一种调试方式,可以自动为我们处理
  • 创建 launch.json
    在这里插入图片描述
    在这里插入图片描述
  • 配置 launch.json
    在program后配置好正确的生成的可执行路径及名称,${fileDirname} 代表当前目录下
    preLaunchTask 表示调试会话开始前要运行的任务 CMake: build
{// 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {"name": "(gdb) 启动",
            "type": "cppdbg",
            "request": "launch",
            //可执行文件路径
            "program": "${workspaceFolder}/build/main.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {"description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {"description":  "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ],
            //调试会话开始前要运行的任务
            "preLaunchTask": "CMake: build",
        }
    ]
}
  • 创建并且配置 tasks.json-
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    添加一行依赖
    在这里插入图片描述
  • 配置完成后开始调试
    在这里插入图片描述
  • 新增一行打印,直接调试,通过输出发现已重新生成可执行文件
    在这里插入图片描述

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网站名称:Windows下使用cmakevscode搭建C/C++开发调试环境-创新互联
当前链接:http://cdweb.net/article/ddjjhg.html