<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
準備工作:
獲取最新版的mingw 或 本地下載地址,根據系統選擇合適的版本(這裡以win11(與win10無差別)為例)。
等待下載。
下載完成後進入安裝介面,由於本人電腦為64位元(i686為32位元),設定如下即可。
下圖中1路徑選擇(記住,下一部需要設定環境變數),2隨意勾選。
設定minGW環境變數
開始中搜尋如下關鍵字,進入環境變數設定。
下圖2即為mingw中bin的安裝路徑
該路徑下的部分檔案如圖所示。
設定好後點選應用即可。
在命令列中分別輸入g++ --version
gdb --version
,出現以下內容則設定成功(若沒有如下內容,則檢查環境設定過程各個步驟)。
在 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; }
接下來,您將建立一個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": true
值group
指定當您按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 終端)在終端中執行,結果如下所示。
到這裡就已經基本快成功了,最後還剩下偵錯功能。
接下來,您將建立一個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內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45