Vscode配置C/C++環(huán)境使用minGW(保姆級配置過程)
本人配置過程
準(zhǔn)備工作:
獲取最新版的mingw 或 本地下載地址,根據(jù)系統(tǒng)選擇合適的版本(這里以win11(與win10無差別)為例)。
等待下載。
下載完成后進入安裝界面,由于本人電腦為64位(i686為32位),配置如下即可。
下圖中1路徑選擇(記住,下一部需要配置環(huán)境變量),2隨意勾選。
配置minGW環(huán)境變量
開始中搜索如下關(guān)鍵字,進入環(huán)境變量設(shè)置。
下圖2即為mingw中bin的安裝路徑
該路徑下的部分文件如圖所示。
配置好后點擊應(yīng)用即可。
檢查minGW是否安裝成功
在命令行中分別輸入g++ --version
gdb --version
,出現(xiàn)以下內(nèi)容則配置成功(若沒有如下內(nèi)容,則檢查環(huán)境配置過程各個步驟)。
創(chuàng)建你的第一個helloworld
在 Windows 命令提示符下,創(chuàng)建一個名為的空文件夾projects,您可以在其中放置所有 VS Code 項目。然后創(chuàng)建一個名為 的子文件夾helloworld,導(dǎo)航到其中,然后通過輸入以下命令在該文件夾中打開 VS Code:
mkdir projects cd projects mkdir helloworld cd helloworld code .
“code .” 命令在當(dāng)前工作文件夾中打開 VsCode。
創(chuàng)建helloworld.cpp文件。
將以下代碼復(fù)制到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; }
構(gòu)建helloworld.cpp
接下來,您將創(chuàng)建一個tasks.json文件來告訴 VS Code 如何構(gòu)建(編譯)程序。此任務(wù)將調(diào)用 g++ 編譯器以基于源代碼創(chuàng)建可執(zhí)行文件。
從主菜單中,選擇“終端(terminal)” >“配置默認(rèn)構(gòu)建任務(wù)(Configure Default Build Task)”。在下拉列表中,將顯示一個任務(wù)下拉列表,其中列出了 C++ 編譯器的各種預(yù)定義構(gòu)建任務(wù)。選擇"g++.exe build active file",這將構(gòu)建當(dāng)前在編輯器中顯示(活動)的文件。
這將tasks.json在.vscode文件夾中創(chuàng)建一個文件并在編輯器中打開它。
您的新tasks.json文件應(yīng)該類似于下面的 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\"" } ] }
不懂參數(shù)含義的默認(rèn)即可。
該command
設(shè)置指定要運行的程序;在這種情況下是 g++。該args
數(shù)組指定將傳遞給 g++ 的命令行參數(shù)。這些參數(shù)必須按照編譯器預(yù)期的順序指定。這個任務(wù)告訴 g++ 獲取活動文件 ( ${file}
),編譯它,并在當(dāng)前目錄 ( ${fileDirname}
) 中創(chuàng)建一個與活動文件同名但帶有.exe擴展名 ( ${fileBasenameNoExtension}.exe
)的可執(zhí)行文件,helloworld.exe為我們的示例。
注意:您可以tasks.json在變量參考中了解有關(guān)變量的更多信息。
該label
值是您將在任務(wù)列表中看到的值;你可以隨意命名它。
對象中的"isDefault": true
值group
指定當(dāng)您按Ctrl+Shift+B
時將運行此任務(wù)。此屬性僅為方便起見;如果您將其設(shè)置為 false,您仍然可以使用Tasks: Run Build Task
從終端菜單運行它。
運行構(gòu)建
回到helloworld.cpp. 您的任務(wù)會構(gòu)建活動文件,而您想要構(gòu)建helloworld.cpp.
要運行中定義的構(gòu)建任務(wù)tasks.json,請按Ctrl+Shift+B或從終端主菜單中選擇Run Build Task。
任務(wù)開始時,您應(yīng)該會看到集成終端面板出現(xiàn)在源代碼編輯器下方。任務(wù)完成后,終端會顯示編譯器的輸出,指示構(gòu)建是成功還是失敗。對于成功的 g++ 構(gòu)建,輸出如下所示:
顯示成功后,并生成一個exe文件。
如果顯示不成功(可能是權(quán)限不夠),需關(guān)閉軟件重新用管理員模式打開vscode,并重新執(zhí)行上述操作。
最后在helloworld目錄下通過鍵入./helloworld
(或者./helloworld.exe
如果您使用 PowerShell 終端)在終端中運行,結(jié)果如下所示。
到這里就已經(jīng)基本快成功了,最后還剩下調(diào)試功能。
調(diào)試 helloworld.cpp
接下來,您將創(chuàng)建一個launch.json文件來配置 VS Code,以便在您按F5調(diào)試程序時啟動 GDB 調(diào)試器。
從主菜單中,選擇Run > Add Configuration…,然后選擇C++ (GDB/LLDB)。
然后,您將看到各種預(yù)定義調(diào)試配置的下拉列表。選擇g++.exe build and debug active file。
成功后顯示如下:
并生成launch.json文件,在編輯器中打開它,然后構(gòu)建并運行“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" } ] }
這里也一樣,不懂參數(shù)含義的默認(rèn)即可。
該program
設(shè)置指定要調(diào)試的程序。這被設(shè)置為活動文件夾${fileDirname}
和文件名活躍與.exe
擴展${fileBasenameNoExtension}.exe
,這是否helloworld.cpp
是活動的文件會helloworld.exe
。
默認(rèn)情況下,C++ 擴展不會向您的源代碼添加任何斷點,并且該stopAtEntry
值設(shè)置為false
.
將stopAtEntry
值更改true
為使調(diào)試器main
在您開始調(diào)試時停止該方法。
注意:該
preLaunchTask
設(shè)置用于指定啟動前要執(zhí)行的任務(wù)。確保它與tasks.json
文件label
設(shè)置一致。
到此這篇關(guān)于Vscode配置C/C++環(huán)境使用minGW(保姆級配置過程)的文章就介紹到這了,更多相關(guān)Vscode配置minGW內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
適合初學(xué)者的C語言數(shù)據(jù)類型的講解
在 C 語言中,數(shù)據(jù)類型指的是用于聲明不同類型的變量或函數(shù)的一個廣泛的系統(tǒng)。變量的類型決定了變量存儲占用的空間,以及如何解釋存儲的位模式。2022-04-04C語言中的自定義類型之結(jié)構(gòu)體與枚舉和聯(lián)合詳解
今天我們來學(xué)習(xí)一下自定義類型,自定義類型包括結(jié)構(gòu)體、枚舉、聯(lián)合體,小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考2022-06-06Qt圖形圖像開發(fā)曲線圖表模塊QChart庫縮放/平移詳細(xì)方法與實例
這篇文章主要介紹了Qt圖形圖像開發(fā)曲線圖表模塊QChart庫縮放/平移詳細(xì)方法與實例,需要的朋友可以參考下2020-03-03C語言如何求整數(shù)的位數(shù)及各位數(shù)字之和
這篇文章主要介紹了C語言如何求整數(shù)的位數(shù)及各位數(shù)字之和,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11C 程序?qū)崿F(xiàn)密碼隱秘輸入的實例 linux系統(tǒng)可執(zhí)行
下面小編就為大家?guī)硪黄狢 程序?qū)崿F(xiàn)密碼隱秘輸入的實例 linux系統(tǒng)可執(zhí)行。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11