Ubuntu 環(huán)境下的 C/C++ 編譯與調試配置方法
詳細教學文檔:Ubuntu 環(huán)境下的 C/C++ 編譯與調試配置
本文檔將手把手引導你完成在 Ubuntu 環(huán)境中設置 VS Code 的 tasks.json
和 launch.json
,實現(xiàn)以下目標:
- 統(tǒng)一管理輸出文件:將所有編譯生成的可執(zhí)行文件統(tǒng)一存放到項目的
build
目錄。 - 優(yōu)化調試流程:調試器自動定位
build
中的可執(zhí)行文件,免去手動調整路徑的麻煩。 - 跨平臺兼容性:確保配置適用于 Ubuntu 和其他類 Unix 系統(tǒng)。
前提條件
在開始之前,請確保系統(tǒng)已安裝以下工具:
g++
編譯器
安裝命令:
sudo apt install g++
gdb
調試器
安裝命令:
sudo apt install gdb
VS Code 擴展:
C/C++ 插件(Microsoft 提供):在擴展市場中搜索 “C/C++” 并安裝。
創(chuàng)建項目目錄結構
建議項目目錄結構如下:
project-root/ ├── build/ # 編譯生成的可執(zhí)行文件目錄 ├── src/ # 源代碼文件目錄 │ ├── main.cpp # 示例源代碼文件 ├── tasks.json # VS Code 任務配置文件 └── launch.json # VS Code 調試配置文件
執(zhí)行以下命令創(chuàng)建目錄結構:
mkdir -p project-root/build mkdir -p project-root/src
將你的源代碼放入 src
目錄,例如創(chuàng)建一個簡單的 main.cpp
:
#include <iostream> int main() { std::cout << "Hello, World!" << std::endl; return 0; }
配置 tasks.json
文件路徑
將 tasks.json
保存到項目目錄下的 .vscode
文件夾中。如果文件夾不存在,使用以下命令創(chuàng)建:
mkdir -p project-root/.vscode touch project-root/.vscode/tasks.json
完整配置內容
{ "version": "2.0.0", "tasks": [ { "type": "cppbuild", "label": "C/C++: g++ 編譯到 build 目錄 (Ubuntu)", "command": "/usr/bin/g++", "args": [ "-fdiagnostics-color=always", // 彩色錯誤提示 "-g", // 啟用調試信息 "${workspaceFolder}/src/${fileBasename}", // 指定源文件路徑 "-o", // 輸出選項 "${workspaceFolder}/build/${fileBasenameNoExtension}" // 輸出文件路徑 ], "options": { "cwd": "${workspaceFolder}" // 設置工作目錄為項目根目錄 }, "problemMatcher": [ "$gcc" ], "group": { "kind": "build", "isDefault": true // 默認構建任務 }, "detail": "將當前活動文件編譯到 build 目錄中" } ] }
關鍵解釋
${workspaceFolder}
:指代項目根目錄。${fileBasename}
:當前活動文件的文件名(包括擴展名)。${fileBasenameNoExtension}
:當前活動文件的文件名(不包括擴展名)。-g
:開啟調試符號,支持調試功能。
配置 launch.json
文件路徑
將 launch.json
保存到 .vscode
文件夾中:
touch project-root/.vscode/launch.json
完整配置內容
{ "version": "0.2.0", "configurations": [ { "name": "C/C++ Runner: Debug Session", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/build/${fileBasenameNoExtension}", // 指向 build 中的可執(zhí)行文件 "args": [], // 可選參數(shù),留空 "stopAtEntry": false, // 是否在入口處停止 "cwd": "${workspaceFolder}/build", // 調試時的工作目錄 "environment": [], // 環(huán)境變量 "externalConsole": false, // 使用內嵌終端 "MIMode": "gdb", // 使用 gdb 調試 "miDebuggerPath": "/usr/bin/gdb", // gdb 路徑 "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ] } ] }
關鍵解釋
program
:動態(tài)指向build
目錄中的可執(zhí)行文件,自動根據(jù)源文件名匹配。cwd
:調試器工作目錄,設置為build
。miDebuggerPath
:指定調試器路徑。
使用步驟
1. 編譯程序
- 打開源文件,例如
src/main.cpp
。 - 按快捷鍵
Ctrl + Shift + B
或從菜單中選擇 任務 -> 運行任務。 - 確??蓤?zhí)行文件生成到
build
目錄,例如build/main
。
2. 調試程序
- 按快捷鍵
F5
或從菜單中選擇 運行 -> 啟動調試。 - 程序將在
build
目錄下運行,調試器會附加到進程。
常見問題排查
問題 1:g++
或 gdb
未安裝
解決方法:
sudo apt install g++ gdb
問題 2:build
目錄不存在或無寫權限
解決方法:
mkdir -p buildchmod +w build
問題 3:調試時程序無法找到輸入文件
原因:默認工作目錄為 build
。
解決方法:將輸入文件復制到 build
目錄,或使用絕對路徑。
最終效果總結
- 統(tǒng)一輸出路徑:所有可執(zhí)行文件存儲在
build
目錄,管理更清晰。 - 一鍵調試:按
F5
即可運行調試,無需手動配置路徑。 - 易于擴展:適用于多文件項目,通過修改
tasks.json
的args
增加編譯參數(shù)即可支持復雜構建需求。
祝你使用愉快!
到此這篇關于Ubuntu 環(huán)境下的 C/C++ 編譯與調試配置的文章就介紹到這了,更多相關Ubuntu 編譯調試 C++內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
輸入一個字符串,取出其中的整數(shù)(實現(xiàn)代碼)
輸入一個字符串,內含所有數(shù)字和非數(shù)字字符。將其中連續(xù)的數(shù)字作為一個整數(shù),依次存放到一個數(shù)組中,統(tǒng)計共有多少個整數(shù),并輸出這些數(shù)2013-09-09