Windows下使用cmakevscode搭建C/C++開發(fā)調(diào)試環(huán)境-創(chuàng)新互聯(lián)

在windows下搭建的方式,在第3章之后同樣適用于Linux系統(tǒng),大致步驟均相同

成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的祁陽網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
1. MinGW的下載與安裝

MinGW提供了 C/C++編譯器,可以將程序源代碼編譯為可以在 Windows 中運(yùn)行的可執(zhí)行程序

1.1 下載地址

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

1.2 下載流程

在這里插入圖片描述
不推薦Online Installer , sjij版本較穩(wěn)定
在這里插入圖片描述
點(diǎn)擊下載后跳轉(zhuǎn)頁面讀秒,讀秒后開始下載
在這里插入圖片描述
在這里插入圖片描述
安裝完成后將其解壓到指定目錄,并且將該文件夾中的 bin目錄添加進(jìn)系統(tǒng)的環(huán)境變量
將文件夾設(shè)置為環(huán)境變量方法
在這里插入圖片描述

1.3 檢驗(yàn)是否配置成功
  • win + r,打開cmd命令窗口
  • 輸入 gcc --version
    在這里插入圖片描述
  • 輸入 g++ --version
    在這里插入圖片描述
2. cmake的下載與安裝 2.1 下載地址

https://cmake.org/download/

2.2 下載流程

頁面下滑,如圖所示(推薦下載壓縮包)
在這里插入圖片描述
將下載下來的壓縮包解壓到自定義路徑,并且將該文件夾下的bin目錄添加進(jìn)系統(tǒng)環(huán)境變量
將文件夾設(shè)置為環(huán)境變量方法
在這里插入圖片描述

2.3 檢驗(yàn)是否配置成功
  • 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,相當(dāng)于使用SRC來替換main.cpp hello.cpp
set(SRC main.cpp hello.cpp)
  • include_directories - 向工程添加多個(gè)特定的頭文件搜索路徑,相當(dāng)于指定g++編譯器的-I參數(shù)
# 將inc添加到頭文件搜索路徑
include_directories(inc)
  • add_compile_options - 添加編譯參數(shù)
# 添加編譯參數(shù) -Wall(輸出警告信息) -std=c++11(支持C++11標(biāo)準(zhǔn)) -O2(優(yōu)化級別)
add_compile_options(-Wall -std=c++11 -O2)
  • add_subdirectory - 向當(dāng)前工程添加存放源文件的子目錄,并可以指定中間二進(jìn)制和目標(biāo)二進(jìn)制
    存放的位置
# 添加src子目錄,src中需有一個(gè)CMakeLists.txt
add_subdirectory(src)
  • aux_source_directory - 發(fā)現(xiàn)一個(gè)目錄下所有的源代碼文件并將列表存儲在一個(gè)變量中,這個(gè)指
    令臨時(shí)被用來自動(dòng)構(gòu)建源文件列表存放的位置
# 定義SRC變量,其值為當(dāng)前目錄下所有的源代碼文件
aux_source_directory(. SRC)
# 編譯SRC變量所代表的源代碼文件,生成main可執(zhí)行文件
add_executable(main ${SRC})
  • add_executable - 生成可執(zhí)行文件
# 編譯main.cpp生成可執(zhí)行文件main
add_executable(main main.cpp)
  • CMAKE_BUILD_TYPE 編譯類型(Debug, Release)
# 設(shè)定編譯類型為debug,調(diào)試時(shí)需要選擇debug(相當(dāng)于帶調(diào)試信息)
set(CMAKE_BUILD_TYPE Debug)
# 設(shè)定編譯類型為release,發(fā)布時(shí)需要選擇release
set(CMAKE_BUILD_TYPE Release)
3. VScode插件

在這里插入圖片描述

4. 使用camke編譯一個(gè)簡單工程 4.1 代碼結(jié)構(gòu)

在這里插入圖片描述

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 在根目錄下新建一個(gè)CMakeLists.txt文件

在這里插入圖片描述
CMakeLists.txt

#cmake版本不低于 3.10
cmake_minimum_required(VERSION 3.10)
#工程名為 SWAP
project(SWAP)
#定義SRC變量
set(SRC main.cpp src/swap.cpp)
#設(shè)定編譯類型為debug,生成的可執(zhí)行文件可編譯
set(CMAKE_BUILD_TYPE Debug)
#指定 inc 為頭文件搜索路徑
include_directories(inc)
#生成可執(zhí)行文件main
add_executable(main ${SRC})
4.4 vscode中配置cmake
  • 先查看左下方狀態(tài)欄是否顯示cmake狀態(tài)
    在這里插入圖片描述

  • 如果左下方不顯示可以在拓展管理中,先禁用再啟用,之后就可以顯示
    在這里插入圖片描述

  • 選擇Debug,包含調(diào)試信息,方便后期調(diào)試
    在這里插入圖片描述

  • 選擇搜索到的編譯器
    在這里插入圖片描述

  • 點(diǎn)擊左下方 build
    在這里插入圖片描述

  • 點(diǎn)擊 三角符號,運(yùn)行可執(zhí)行文件
    在這里插入圖片描述

5. 調(diào)試 5.1 在main.cpp 第7行添加斷點(diǎn)

可鼠標(biāo)單擊行號前空白或使用快捷鍵 F9
在這里插入圖片描述

5.2 啟動(dòng)調(diào)試 5.2.1 點(diǎn)擊左下角符號

在這里插入圖片描述
在這里插入圖片描述

5.2.2 當(dāng)文件內(nèi)容修改時(shí),就必須先點(diǎn)擊左下方 build ,另一種調(diào)試方式,可以自動(dòng)為我們處理
  • 創(chuàng)建 launch.json
    在這里插入圖片描述
    在這里插入圖片描述
  • 配置 launch.json
    在program后配置好正確的生成的可執(zhí)行路徑及名稱,${fileDirname} 代表當(dāng)前目錄下
    preLaunchTask 表示調(diào)試會話開始前要運(yùn)行的任務(wù) CMake: build
{// 使用 IntelliSense 了解相關(guān)屬性。 
    // 懸停以查看現(xiàn)有屬性的描述。
    // 欲了解更多信息,請?jiān)L問: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {"name": "(gdb) 啟動(dòng)",
            "type": "cppdbg",
            "request": "launch",
            //可執(zhí)行文件路徑
            "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":  "將反匯編風(fēng)格設(shè)置為 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ],
            //調(diào)試會話開始前要運(yùn)行的任務(wù)
            "preLaunchTask": "CMake: build",
        }
    ]
}
  • 創(chuàng)建并且配置 tasks.json-
    在這里插入圖片描述
    在這里插入圖片描述
    在這里插入圖片描述
    添加一行依賴
    在這里插入圖片描述
  • 配置完成后開始調(diào)試
    在這里插入圖片描述
  • 新增一行打印,直接調(diào)試,通過輸出發(fā)現(xiàn)已重新生成可執(zhí)行文件
    在這里插入圖片描述

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

當(dāng)前文章:Windows下使用cmakevscode搭建C/C++開發(fā)調(diào)試環(huán)境-創(chuàng)新互聯(lián)
瀏覽路徑:http://bm7419.com/article46/ddjjhg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、云服務(wù)器、App開發(fā)、做網(wǎng)站、外貿(mào)建站軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)