VS Code C++ 開發環境配置

VS Code 是當前非常流行的開發工具. 本文講述如何配置 VS Code 作為 C++開發環境. 本文將按照如下步驟來介紹如何配置 VS Code 作為 C++開發環境.

  1. 安裝編譯器
  2. 安裝插件
  3. 配置工作區

第一個步驟的具體操作會因為系統不同或者方案不同而有不同的選擇.

環境要求

首先需要立即 VS Code 主要的功能是編輯器, 它并沒有編譯器能力. 因此我們要想 VS Code 作為 C++開發環境, 我們需要安裝好編譯器.

  1. VS Code. 如果沒有請去官網下載并安裝.
  2. C++ 編譯器. 根據系統的不同, 可以選擇不同的編譯器. 讀者請根據自己所用系統選擇對應的編譯器.

Windows 下安裝 C++編譯器

Windows 下有很多選擇, 簡單來說有如下選擇:

  • 使用原生的編譯器: Microsoft Visual Studio. Visual Studio 本身就是一款 IDE, 但是相比起 VS Code 來說, 軟件體積很大.
  • 如果是 Windows 11 使用 WSL 來安裝 C++編譯器. Windows 10 應該也可以, 但是我本地環境是 Windows 11, 所以這里只介紹 Windows 11.
  • 如果本地有 Docker, 則可以用 dev container 方案. 有多個語言開發環境, 或者有多個編譯器版本的用戶可以考慮使用 dev container 方案. 可以參考我的這篇文章: VS Code Dev Containers 教程: 從基礎到進階配置

Linux 下安裝 C++編譯器

Linux 下可以使用 gcc, clang. 通過系統的包管理器來安裝.

  • 對于 Ubuntu 來說, 可以使用如下命令來安裝:

    • gcc: sudo apt install gcc
    • clang: sudo apt install clang
  • 對于 CentOS 來說, 可以使用如下命令來安裝:

    • gcc: sudo yum install gcc
    • clang: sudo yum install clang

MacOS 下安裝 C++編譯器

對于 MacOS 來說, 如果有 Homebrew, 可以使用如下命令來安裝:

brew install clang

安裝插件

我們主要需要安裝如下插件C/C++ Extension Pack.

它是一個擴展包, 包含了 C/C++ 的所有功能. 包括:

  • C/C++
  • C/C++ Themes
  • CMake Tools

配置工作區

我們使用 CMake 來配置我們的項目. 這里我使用一個示例項目來演示如何配置工作區.

這個項目使用 CMake 來構建, 并且使用 CMakePreset.json 來配置工作區. 如果對這兩個工具不熟悉, 請參考我的文章: CMake 教程: 從基礎到進階配置

操作步驟如下:

  1. clone 項目:

    git clone https://gitee.com/aronic/cmake-project-2024.git
    
  2. 用 VS Code 打開項目.

  3. 選擇 CMake Preset: 按下shift + cmd + p, 輸入 CMake: Select a CMake Preset, 選擇對應的 preset. 目前只有兩個, 分別針對 Linux 和 Windows.

    select preset

  4. 運行構建: 按下shift + cmd + p, 輸出CMake: Build, 運行構建.

    cmake build

    構建結果:

    build result

  5. 運行測試: 按下shift + cmd + p, 輸出CMake: Run Test, 運行測試.

    run test

    測試結果:

    run test result

上述操作在底層狀態欄也可以操作.

status bar

至此, 我們已經完成了 C++開發環境的搭建.

相關帖子

  • CMake 入門教程: 從基礎到實踐
  • Windows 11 CLion C++ Dev Container開發環境配置
  • Vcpkg 使用全攻略: 支持 VS Code, Visual Studio 和 CLion
  • Dockerfile for C++ Dev Containers

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/73119.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/73119.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/73119.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Flutter 學習之旅 之 flutter 不使用插件,實現簡單帶加載動畫的 LoadingToast 功能

Flutter 學習之旅 之 flutter 不使用插件,實現簡單帶加載動畫的 LoadingToast 功能 目錄 Flutter 學習之旅 之 flutter 不使用插件,實現簡單帶加載動畫的 LoadingToast 功能 一、簡單介紹 二、LoadingToast 三、簡單案例實現 四、關鍵代碼 一、簡單…

Spring (八)AOP-切面編程的使用

目錄 實現步驟&#xff1a; 1 導入AOP依賴 2 編寫切面Aspect 3 編寫通知方法 4 指定切入點表達式 5 測試AOP動態織入 圖示&#xff1a; 一 實現步驟&#xff1a; 1 導入AOP依賴 <!-- Spring Boot AOP依賴 --><dependency><groupId>org.springframewor…

開源數字人模型Heygem

一、Heygem是什么 Heygem 是硅基智能推出的開源數字人模型&#xff0c;專為 Windows 系統設計。基于先進的AI技術&#xff0c;僅需1秒視頻或1張照片&#xff0c;能在30秒內完成數字人形象和聲音克隆&#xff0c;在60秒內合成4K超高清視頻。Heygem支持多語言輸出、多表情動作&a…

uniapp開通開屏廣告后動態開啟或關閉開屏廣告

近期使用uniapp開發的APP有uniad的廣告對接&#xff0c;并且要求會員用戶不顯示包含開屏廣告在內的廣告&#xff0c;除開屏廣告外的廣告都可以通過uniapp廣告組件控制是否顯示 因uniad的開屏廣告無需代碼開發&#xff0c;經過uniad客服指點可在App.vue中的onLaunch生命周期中執…

神經網絡為什么要用 ReLU 增加非線性?

在神經網絡中使用 ReLU&#xff08;Rectified Linear Unit&#xff09; 作為激活函數的主要目的是引入非線性&#xff0c;這是神經網絡能夠學習復雜模式和解決非線性問題的關鍵。 1. 為什么需要非線性&#xff1f; 1.1 線性模型的局限性 如果神經網絡只使用線性激活函數&…

使用SSH密鑰連接本地git 和 github

目錄 配置本地SSH&#xff0c;添加到github首先查看本地是否有SSH密鑰生成SSH密鑰&#xff0c;和郵箱綁定將 SSH 密鑰添加到 ssh-agent&#xff1a;顯示本地公鑰*把下面這一串生成的公鑰存到github上* 驗證SSH配置是否成功終端跳轉到本地倉庫把http協議改為SSH&#xff08;如果…

關于AI數據分析可行性的初步評估

一、結論&#xff1a;可在部分環節嵌入&#xff0c;無法直接處理大量數據 1.非本地部署的AI應用處理非機密文件沒問題&#xff0c;內部文件要注意數據安全風險。 2.AI&#xff08;指高規格大模型&#xff09;十分適合探索性研究分析&#xff0c;對復雜報告無法全流程執行&…

矩陣分析-淺要理解(深度學習方向)

梯度分析與最優化 在深度學習的任務中&#xff0c;我們所期望的是訓練一個神經網絡&#xff0c;使得預測結果與真實標簽之間的誤差最小化&#xff0c;這可以近似看作是一個提供梯度下降等優化找到全局最優解的凸優化問題。 奇異值分解 在信息工程領域&#xff0c;對數據處理的…

使用DeepSeek+藍耘快速設計網頁簡易版《我的世界》小游戲

前言&#xff1a;如今&#xff0c;借助先進的人工智能模型與便捷的云平臺&#xff0c;即便是新手開發者&#xff0c;也能開啟創意游戲的設計之旅。DeepSeek 作為前沿的人工智能模型&#xff0c;具備強大的功能與潛力&#xff0c;而藍耘智算云平臺則為其提供了穩定高效的運行環境…

固定表頭、首列 —— uniapp、vue 項目

項目實地&#xff1a;也可以在 【微信小程序】搜索體驗&#xff1a;xny.handbook 另一個體驗項目&#xff1a;官網 一、效果展示 二、代碼展示 &#xff08;1&#xff09;html 部分 <view class"table"><view class"tr"><view class&quo…

【學習筆記】Numpy和Tensor的區別

1. NumPy 和 PyTorch Tensor 的格式對比 NumPy 使用的是 numpy.ndarray&#xff0c;而 PyTorch 使用的是 torch.Tensor&#xff0c;兩者的格式在數據存儲和計算方式上有所不同。 NumPy (numpy.ndarray) import numpy as np array np.array([[1.0, 2.0, 3.0], [4.0, 5.0, 6.…

每天一道算法題【藍橋杯】【在排序數組中查找元素的第一個位置和最后一個位置】

思路 本題為查找左邊界和右邊界的標準模型 查找左邊界 int left 0, right nums.size() - 1, mid 0; //查找左邊界 while (left < right) { mid left (right - left) / 2; if (nums[mid] < target) left mid 1; else right mid; } 查找右邊界 int left 0, r…

Python數據分析之機器學習基礎

Python 數據分析重點知識點 本系列不同其他的知識點講解&#xff0c;力求通過例子讓新同學學習用法&#xff0c;幫助老同學快速回憶知識點 可視化系列&#xff1a; Python基礎數據分析工具數據處理與分析數據可視化機器學習基礎 五、機器學習基礎 了解機器學習概念、分類及…

我與DeepSeek讀《大型網站技術架構》(10)- 維基百科的高性能架構設計分析

目錄 網站整體架構核心組件請求處理流程圖關鍵環節說明 性能優化策略前端優化&#xff1a;攔截 80% 以上請求服務端優化&#xff1a;高性能 PHP 集群后端優化&#xff1a;存儲與緩存極致設計Memcached 持久化連接 性能優化策略對比表 網站整體架構 核心組件 Wikipedia 的架構…

Excel多級聯動下拉菜單設置

1.問題描述 現有數據表如下圖所示&#xff1a; 該表中包括省、市、縣三級目錄。 現要將其整理成數據表模板&#xff0c;如下圖所示&#xff1a; 要求制作成下拉菜單的形式&#xff0c;且每一級目錄的下拉菜單列表要根據上一級目錄的內容來確定。 如上圖所示&#xff0c;只有…

智駕技術全鏈條解析

智駕技術全鏈條解析&#xff08;2025年最新版&#xff09; 智駕技術涵蓋從環境感知到車輛控制的完整閉環&#xff0c;涉及硬件、算法、數據與系統集成等多個領域。以下結合行業最新進展&#xff08;截至2025年3月&#xff09;進行深度拆解&#xff1a; 一、感知技術&#xff1…

SpringMVC執行的流程

SpringMVC 基于 MVC 架構模式&#xff0c;核心流程時前端控制室 DispathcherServlet 統一調度&#xff0c;通過組件協作完成 http 的請求與響應。 對于 dispatchServlet 作為前端請求的控制器&#xff0c;全局的訪問點&#xff0c;首先將根據 URL 調用 HandlerMapping 獲取 Han…

Linux學習(十五)(故障排除(ICMP,Ping,Traceroute,網絡統計,數據包分析))

故障排除是任何 Linux 用戶或管理員的基本技能。這涉及識別和解決 Linux 系統中的問題。這些問題的范圍包括常見的系統錯誤、硬件或軟件問題、網絡連接問題以及系統資源的管理。Linux 中的故障排除過程通常涉及使用命令行工具、檢查系統和應用程序日志文件、了解系統進程&#…

存儲過程和自定義函數在銀行信貸業務中的應用(oracle)

數據校驗和清洗 例如&#xff0c;檢查客戶的年齡是否在合理范圍內&#xff0c;貸款金額是否符合規定的上下限等。 對于不符合規則的數據&#xff0c;可以進行清洗和修正。比如&#xff0c;將空值替換為默認值&#xff0c;或者對錯誤的數據進行糾正。 CREATE OR REPLACE PROC…

指令微調 (Instruction Tuning) 與 Prompt 工程

引言 預訓練語言模型 (PLMs) 在通用語言能力方面展現出強大的潛力。然而&#xff0c;如何有效地引導 PLMs 遵循人類指令&#xff0c; 并輸出符合人類意圖的響應&#xff0c; 成為釋放 PLMs 價值的關鍵挑戰。 指令微調 (Instruction Tuning) 和 Prompt 工程 (Prompt Engineerin…