Vscode配置C/C++環境使用minGW(保姆級配置過程)

本人配置過程

準備工作:

  • 系統:win11/win10
  • 安裝vscode 或者 本地下載地址
  • 下載vscode中的c/c++插件

分別點擊執行1 2 3 點擊install下載

獲取最新版的mingw 或 本地下載地址,根據系統選擇合適的版本(這裡以win11(與win10無差別)為例)。

在這裡插入圖片描述

在這裡插入圖片描述

等待下載。

下載完成後進入安裝界面,由於本人電腦為64位(i686為32位),配置如下即可。

在這裡插入圖片描述

下圖中1路徑選擇(記住,下一部需要配置環境變量),2隨意勾選。

在這裡插入圖片描述

配置minGW環境變量

開始中搜索如下關鍵字,進入環境變量設置。

在這裡插入圖片描述

在這裡插入圖片描述

下圖2即為mingw中bin的安裝路徑

在這裡插入圖片描述

該路徑下的部分文件如圖所示。

在這裡插入圖片描述

配置好後點擊應用即可。

檢查minGW是否安裝成功

在命令行中分別輸入g++ --version gdb --version,出現以下內容則配置成功(若沒有如下內容,則檢查環境配置過程各個步驟)。

在這裡插入圖片描述

創建你的第一個helloworld

在 Windows 命令提示符下,創建一個名為的空文件夾projects,您可以在其中放置所有 VS Code 項目。然後創建一個名為 的子文件夾helloworld,導航到其中,然後通過輸入以下命令在該文件夾中打開 VS Code:

mkdir projects
cd projects
mkdir helloworld
cd helloworld
code .

“code .” 命令在當前工作文件夾中打開 VsCode。

創建helloworld.cpp文件。

在這裡插入圖片描述

將以下代碼復制到helloworld.cpp中。

#include <iostream>
#include <vector>
#include <string>

using namespace std;

int main()
{
    vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};

    for (const string& word : msg)
    {
        cout << word << " ";
    }
    cout << endl;
}

構建helloworld.cpp

接下來,您將創建一個tasks.json文件來告訴 VS Code 如何構建(編譯)程序。此任務將調用 g++ 編譯器以基於源代碼創建可執行文件。

從主菜單中,選擇“終端(terminal)” >“配置默認構建任務(Configure Default Build Task)”。在下拉列表中,將顯示一個任務下拉列表,其中列出瞭 C++ 編譯器的各種預定義構建任務。選擇"g++.exe build active file",這將構建當前在編輯器中顯示(活動)的文件。

這將tasks.json在.vscode文件夾中創建一個文件並在編輯器中打開它。

您的新tasks.json文件應該類似於下面的 JSON:

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "cppbuild",
			"label": "C/C++: g++.exe build active file",
			"command": "C:\\Program Files\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\mingw64\\bin\\g++.exe",
			"args": [
				"-g",
				"${file}",
				"-o",
				"${fileDirname}\\${fileBasenameNoExtension}.exe"
			],
			"options": {
				"cwd": "${fileDirname}"
			},
			"problemMatcher": [
				"$gcc"
			],
			"group": {
				"kind": "build",
				"isDefault": true
			},
			"detail": "compiler: \"C:\\Program Files\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\mingw64\\bin\\g++.exe\""
		}
	]
}

不懂參數含義的默認即可。

command設置指定要運行的程序;在這種情況下是 g++。該args數組指定將傳遞給 g++ 的命令行參數。這些參數必須按照編譯器預期的順序指定。這個任務告訴 g++ 獲取活動文件 ( ${file}),編譯它,並在當前目錄 ( ${fileDirname}) 中創建一個與活動文件同名但帶有.exe擴展名 ( ${fileBasenameNoExtension}.exe)的可執行文件,helloworld.exe為我們的示例。

註意:您可以tasks.json在變量參考中瞭解有關變量的更多信息。

label值是您將在任務列表中看到的值;你可以隨意命名它。

對象中的"isDefault": truegroup指定當您按Ctrl+Shift+B時將運行此任務。此屬性僅為方便起見;如果您將其設置為 false,您仍然可以使用Tasks: Run Build Task從終端菜單運行它。

運行構建

回到helloworld.cpp. 您的任務會構建活動文件,而您想要構建helloworld.cpp.

要運行中定義的構建任務tasks.json,請按Ctrl+Shift+B或從終端主菜單中選擇Run Build Task。

任務開始時,您應該會看到集成終端面板出現在源代碼編輯器下方。任務完成後,終端會顯示編譯器的輸出,指示構建是成功還是失敗。對於成功的 g++ 構建,輸出如下所示:

在這裡插入圖片描述

顯示成功後,並生成一個exe文件。
如果顯示不成功(可能是權限不夠),需關閉軟件重新用管理員模式打開vscode,並重新執行上述操作。

最後在helloworld目錄下通過鍵入./helloworld(或者./helloworld.exe如果您使用 PowerShell 終端)在終端中運行,結果如下所示。

在這裡插入圖片描述

到這裡就已經基本快成功瞭,最後還剩下調試功能。

調試 helloworld.cpp

接下來,您將創建一個launch.json文件來配置 VS Code,以便在您按F5調試程序時啟動 GDB 調試器。

從主菜單中,選擇Run > Add Configuration…,然後選擇C++ (GDB/LLDB)

然後,您將看到各種預定義調試配置的下拉列表。選擇g++.exe build and debug active file
成功後顯示如下:

在這裡插入圖片描述

並生成launch.json文件,在編輯器中打開它,然後構建並運行“helloworld”。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": "g++.exe - build active file",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "C:\\Program Files\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\mingw64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: g++.exe build active file"
        }
    ]
}

這裡也一樣,不懂參數含義的默認即可。

program設置指定要調試的程序。這被設置為活動文件夾${fileDirname}和文件名活躍與.exe擴展${fileBasenameNoExtension}.exe,這是否helloworld.cpp是活動的文件會helloworld.exe

默認情況下,C++ 擴展不會向您的源代碼添加任何斷點,並且該stopAtEntry值設置為false.

stopAtEntry值更改true為使調試器main在您開始調試時停止該方法。

註意:該preLaunchTask設置用於指定啟動前要執行的任務。確保它與tasks.json文件label設置一致。

到此這篇關於Vscode配置C/C++環境使用minGW(保姆級配置過程)的文章就介紹到這瞭,更多相關Vscode配置minGW內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: