WIN11使用vscode搭建c語言開發環境

安裝 VS Code
  • 下載地址:?Visual Studio Code - Code Editing. Redefined

  • 安裝時勾選?"添加到 PATH"(方便在終端中調用?code?命令

    下載 MSYS2

  • 官網:MSYS2

  • 下載?msys2-x86_64-xxxx.exe(64位版本)并安裝。

  • 默認安裝路徑:C:\msys64

  • 運行 MSYS2 終端

    • 安裝完成后,打開?MSYS2 MSYS(開始菜單或桌面快捷方式)。

  • 更新軟件包數據庫

    • 在 MSYS2 終端運行

      pacman -Syu
      如果提示關閉終端,重新打開 MSYS2 并再次運行:
      pacman -Su

?

安裝 MinGW-w64 GCC(G++)

MSYS2 提供了多個版本的 GCC:

  • UCRT64(推薦,兼容性更好)

  • MINGW64(傳統 MinGW-w64)

  • CLANG64(LLVM Clang 版本)

安裝 UCRT64 版本的 GCC(推薦)?

?

pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain
  • 按回車選擇默認安裝(全部包)。

方法 2:安裝 MINGW64 版本的 GCC(傳統 MinGW-w64)?

pacman -S --needed base-devel mingw-w64-x86_64-toolchain

?方法 3:安裝 CLANG64 版本的 GCC(LLVM Clang)

pacman -S --needed base-devel mingw-w64-clang-x86_64-toolchain

?

將 MinGW-w64 添加到系統環境變量

安裝完成后,GCC 的可執行文件(gccg++gdb)位于:

  • UCRT64:?C:\msys64\ucrt64\bin

  • MINGW64:?C:\msys64\mingw64\bin

  • CLANG64:?C:\msys64\clang64\bin

添加環境變量
  1. 打開系統環境變量設置

    • Win + S?搜索?"編輯系統環境變量"?→?"環境變量"

  2. 修改?PATH

    • 在?"系統變量"?中找到?Path,點擊?"編輯"?→?"新建"

    • 添加你的 MinGW-w64 的?bin?目錄(例如?C:\msys64\ucrt64\bin

?修改?c_cpp_properties.json
  1. 在 VS Code 中打開命令面板(Ctrl+Shift+P),輸入?C/C++: Edit Configurations (UI)

  2. 設置:

    • Compiler path:?C:\msys64\ucrt64\bin\g++.exe(根據你的安裝路徑調整)。

    • IntelliSense mode:?gcc-x64

修改?tasks.json(編譯配置)

按?Ctrl+Shift+P?→?Tasks: Configure Task?→?C/C++: g++.exe build active file,修改?args

json

復制

下載

{"version": "2.0.0","tasks": [{"type": "cppbuild","label": "C/C++: g++.exe build active file","command": "C:\\msys64\\ucrt64\\bin\\g++.exe","args": ["-fdiagnostics-color=always","-g","${file}","-o","${fileDirname}\\${fileBasenameNoExtension}.exe","-std=c++17"  // 可選:指定 C++ 標準],"options": {"cwd": "${fileDirname}"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true},"detail": "Generated task by VS Code"}]
}
修改?launch.json(調試配置)

按?Ctrl+Shift+D?→?create a launch.json file?→?C++ (GDB/LLDB),修改:

json

復制

下載

{"version": "0.2.0","configurations": [{"name": "g++.exe - Build and debug active file","type": "cppdbg","request": "launch","program": "${fileDirname}\\${fileBasenameNoExtension}.exe","args": [],"stopAtEntry": false,"cwd": "${fileDirname}","environment": [],"externalConsole": false,"MIMode": "gdb","miDebuggerPath": "C:\\msys64\\ucrt64\\bin\\gdb.exe","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}],"preLaunchTask": "C/C++: g++.exe build active file"}]
}

?測試運行

  1. 創建一個?hello.cpp?文件:

    cpp

    復制

    下載

    #include <iostream>
    using namespace std;
    int main() {cout << "Hello, MSYS2 GCC!" << endl;return 0;
    }
  2. 編譯運行

    • 按?Ctrl+Shift+B?編譯。

    • 按?F5?調試運行。

?

?

?

?

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

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

相關文章

微信小程序帶數組參數跳轉頁面,微信小程序跳轉頁面帶數組參數

在微信小程序中&#xff0c;帶數組參數跳轉頁面需要通過JSON序列化和URL編碼處理&#xff0c;以下是具體實現方法 傳遞數組參數?&#xff08;發送頁面&#xff09; wx.navigateTo({url: /pages/targetPage?arr encodeURIComponent(JSON.stringify(yourArray)) });接收數組參…

Mac M1編譯OpenCV獲取libopencv_java490.dylib文件

Window OpenCV下載地址 https://opencv.org/releases/OpenCV源碼下載 https://github.com/opencv/opencv/tree/4.9.0 https://github.com/opencv/opencv_contrib/tree/4.9.0OpenCV依賴 brew install libjpeg libpng libtiff cmake3 ant freetype構建open CV cmake -G Ninja…

前端面試準備-3

1.let、const、var的區別 ①&#xff1a;let和const為塊級作用域&#xff0c;var為全局作用域 ②&#xff1a;let和var可以重新賦值定義&#xff0c;而const不可以 ③&#xff1a;var會提升到作用域頂部&#xff0c;但不會初始化&#xff1b;let和const也會提升到作用不頂部…

Java 中 Lock 接口詳解:靈活強大的線程同步機制

在 Java 中&#xff0c;Lock 是一個接口&#xff0c;它提供了比 synchronized 關鍵字更靈活、更強大的線程同步機制。以下將詳細介紹 Lock 接口及其實現類&#xff0c;以及它與 synchronized 相比的優點。 Lock 接口及其實現類介紹 Lock 接口 Lock 接口定義了一系列用于獲取…

實驗分享|基于sCMOS相機科學成像技術的耐高溫航空涂層材料損傷檢測實驗

1實驗背景 航空發動機外殼的耐高溫涂層材料在長期高溫、高壓工況下易產生微小損傷與裂紋&#xff0c;可能導致嚴重安全隱患。傳統光學檢測手段受限于分辨率與靈敏度&#xff0c;難以捕捉微米級缺陷&#xff0c;且檢測效率低下。 某高校航空材料實驗室&#xff0c;采用科學相機…

python訓練營day40

知識點回顧&#xff1a; 彩色和灰度圖片測試和訓練的規范寫法&#xff1a;封裝在函數中展平操作&#xff1a;除第一個維度batchsize外全部展平dropout操作&#xff1a;訓練階段隨機丟棄神經元&#xff0c;測試階段eval模式關閉dropout 作業&#xff1a;仔細學習下測試和訓練代碼…

Baklib企業CMS全流程管控與智能協作

企業CMS全流程管控方案解析 現代企業內容管理中&#xff0c;全流程管控的實現依賴于對生產、審核、發布及迭代環節的系統化整合。通過動態發布引擎與元數據智能標記技術&#xff0c;系統可自動匹配內容與目標場景&#xff0c;實現標準化模板驅動的快速部署。針對多分支機構的復…

Qt程序添加調試輸出窗口:CONFIG += console

目錄 1.背景 2.解決方案 3.原理詳解 4.控制臺窗口的行為 5.條件編譯&#xff08;僅調試模式顯示控制臺&#xff09; 6.替代方案 7.總結 1.背景 在Qt程序開發中&#xff0c;開發者經常遇到這樣的困擾&#xff1a; 開發機上程序運行正常 發布到其他機器后程序無法啟動 …

《江西棒球資訊》棒球運動發展·棒球1號位

聯賽體系結構 | League Structure MLB模式 MLB采用分層體系&#xff08;大聯盟、小聯盟&#xff09;&#xff0c;強調梯隊建設和長期發展。 MLB operates a tiered system (Major League, Minor League) with a focus on talent pipelines and long-term development. 中國現…

Python爬蟲實戰:研究Tornado框架相關技術

1. 引言 1.1 研究背景與意義 網絡爬蟲作為一種自動獲取互聯網信息的程序,在信息檢索、數據挖掘、輿情分析等領域有著廣泛的應用。隨著互聯網數據量的爆炸式增長,對爬蟲的性能和效率提出了更高的要求。傳統的同步爬蟲在處理大量 URL 時效率低下,而異步爬蟲可以顯著提高并發…

Vue-列表過濾排序

列表過濾 基礎環境 數據 persons: [{ id: "001", name: "劉德華", age: 19 },{ id: "002", name: "馬德華", age: 20 },{ id: "003", name: "李小龍", age: 21 },{ id: "004", name: "釋小龍&q…

JDK21深度解密 Day 9:響應式編程模型重構

【JDK21深度解密 Day 9】響應式編程模型重構 引言&#xff1a;從Reactor到虛擬線程的范式轉變 在JDK21中&#xff0c;虛擬線程的引入徹底改變了傳統的異步編程模型。作為"JDK21深度解密"系列的第91天&#xff0c;我們將聚焦于響應式編程模型重構這一關鍵主題。通過…

UE5打包項目設置Project Settings(打包widows exe安裝包)

UE5打包項目Project Settings Edit-Project Settings- Packaging-Ini Section Denylist-Advanced 1&#xff1a;打包 2&#xff1a;高級設置 3&#xff1a;勾選創建壓縮包 4&#xff1a;添加要打包地圖Map的數量 5&#xff1a;選擇要打包的地圖Maps 6&#xff1a;Project-Bui…

Fastapi 學習使用

Fastapi 學習使用 Fastapi 可以用來快速搭建 Web 應用來進行接口的搭建。 參考文章&#xff1a;https://blog.csdn.net/liudadaxuexi/article/details/141062582 參考文章&#xff1a;https://blog.csdn.net/jcgeneral/article/details/146505880 參考文章&#xff1a;http…

java helloWord java程序運行機制 用idea創建一個java項目 標識符 關鍵字 數據類型 字節

HelloWord public class Hello{public static void main(String[] args) {System.out.print("Hello,World!");} }java程序運行機制 用idea創建一個java項目 建立一個空項目 新建一個module 注釋 標識符 關鍵字 標識符注意點 數據類型 public class Demo02 {public st…

隨機響應噪聲-極大似然估計

一、核心原因&#xff1a;噪聲機制的數學可逆性 在隨機響應機制&#xff08;Randomized Response&#xff09;中使用極大似然估計&#xff08;Maximum Likelihood Estimation, MLE&#xff09;是為了從擾動后的噪聲數據中無偏地還原原始數據的統計特性。隨機響應通過已知概率的…

SMT貼片機工藝優化與效率提升策略

內容概要 現代電子制造領域中&#xff0c;SMT貼片機作為核心生產設備&#xff0c;其工藝優化與效率提升直接影響企業競爭力。本文聚焦設備參數校準、吸嘴選型匹配、SPI檢測技術三大技術模塊&#xff0c;結合生產流程重構與設備維護周期優化兩大管理維度&#xff0c;形成系統性…

AI提示工程(Prompt Engineering)高級技巧詳解

AI提示工程(Prompt Engineering)高級技巧詳解 文章目錄 一、基礎設計原則二、高級提示策略三、輸出控制技術四、工程化實踐五、專業框架應用提示工程是與大型語言模型(LLM)高效交互的關鍵技術,精心設計的提示可以顯著提升模型輸出的質量和相關性。以下是經過驗證的詳細提示工…

光電設計大賽智能車激光對抗方案分享:低成本高效備賽攻略

一、賽題核心難點與備賽痛點解析 全國大學生光電設計競賽的 “智能車激光對抗” 賽題&#xff0c;要求參賽隊伍設計具備激光對抗功能的智能小車&#xff0c;需實現光電避障、目標識別、軌跡規劃及激光精準打擊等核心功能。從歷年參賽情況看&#xff0c;選手普遍面臨三大挑戰&a…

【KWDB 創作者計劃】_再熱垃圾發電汽輪機仿真與監控系統:KaiwuDB 批量插入10萬條數據性能優化實踐

再熱垃圾發電汽輪機仿真與監控系統&#xff1a;KaiwuDB 批量插入10萬條數據性能優化實踐 我是一臺N25-3.82/390型汽輪機&#xff0c;心臟在5500轉/分的轟鳴中跳動。垃圾焚燒爐是我的胃&#xff0c;將人類遺棄的殘渣轉化為金色蒸汽&#xff0c;沿管道涌入我的胸腔。 清晨&#x…