解決 VSCode 無法正確編譯 C/C++ 的問題
前言
前陣子想用 C++ 寫個題目,突然發現編譯後雖然執行了,但在終端機怎麼輸入都沒反應,檢查 launch.json
跟 tasks.json
也都沒動過。後來在這篇問答裡看到可能是某次更新後 VSCode 對 gcc 的最低版本要求提高了。
升級 gcc 版本
使用 gcc -v
指令可以查看版本,結果發現我裝的 MinGW 版本只有 6.3.0 (目前最新版本為 12.2.0)。先把舊版的 gcc 刪除(記得把系統環境變數的 path 也刪除),然後下載最新版的 WinLibs (UCRT runtime),解壓縮到方便存取的位置,再將 mingw64/bin/
的絕對位置寫到環境變數的 path,最後修改 launch.json
的 gdb 位置就完成了。
分享一下自己的配置:
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceRoot}\\temp.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceRoot}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "C:\\mingw64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "啟用 gdb 的美化顯示",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "build"
}
]
}
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "g++",
"args": [
"-g", "${file}", "-o", "temp.exe"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 JHTNT Blog!
評論