vscode 配置 C/C++編譯環(huán)境(完整教程)
第一步:下載安裝
下載MinGW-W64 GCC-8.1.0編譯器(32和64版本都有)
MinGW-W64 GCC下載地址:https://sourceforge.net/projects/mingw-w64/files/Toolchains targetting Win32/Personal Builds/mingw-builds/installer/mingw-w64-install.exe
離線下載地址:https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/
安裝選項(xiàng)為 x86_64-win32-seh


第二步:環(huán)境配置
打開(kāi)你的mingw-w64安裝目錄,我是默認(rèn)安裝的在C:\Program Files (x86),里面的MinGW-W64就是安裝的編譯器了,將里面的bin文件夾加入路徑,我的就是C:\Program Files (x86)\mingw64\bin,將這個(gè)加入路徑即可。
路徑加入方法:

加入后,建議重啟一下電腦
第三步 下載安裝VSCode(已經(jīng)裝好了請(qǐng)?zhí)降谒牟剑?/strong>
- vscode請(qǐng)到官網(wǎng)下載最新版(推薦管理權(quán)限64位版本)
- 下載地址:https://code.visualstudio.com/

第四步:安裝VSCode cpp相關(guān)的插件
- vscode設(shè)置中文環(huán)境教程,將VSCode設(shè)置成中文語(yǔ)言環(huán)境
- c++插件

-重啟vscode軟件
第五步:配置c++的.vscode文件
在你寫(xiě)代碼的地方新建文件夾和里面新建一個(gè)文件夾
然后在文件夾里面創(chuàng)建一個(gè).vscode文件夾

然后在.vscode文件夾里面創(chuàng)建如上圖所示的四個(gè)文件,文件名如下
c_cpp_properties.json
launch.json
tasks.json
請(qǐng)根據(jù)安裝的位置來(lái)修改文件路徑(如果跟我一樣可以不要修改)
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch", // 配置名稱(chēng),將會(huì)在啟動(dòng)配置的下拉菜單中顯示
"type": "cppdbg", // 配置類(lèi)型,這里只能為cppdbg
"request": "launch", // 請(qǐng)求配置類(lèi)型,可以為launch(啟動(dòng))或attach(附加)
"program": "${workspaceFolder}/${fileBasenameNoExtension}.exe", // 將要進(jìn)行調(diào)試的程序的路徑
"args": [], // 程序調(diào)試時(shí)傳遞給程序的命令行參數(shù),一般設(shè)為空即可
"stopAtEntry": false, // 設(shè)為true時(shí)程序?qū)和T诔绦蛉肟谔?,一般設(shè)置為false
"cwd": "${workspaceFolder}", // 調(diào)試程序時(shí)的工作目錄,一般為${workspaceRoot}即代碼所在目錄 workspaceRoot已被棄用,現(xiàn)改為workspaceFolder
"environment": [],
"externalConsole": true, // 調(diào)試時(shí)是否顯示控制臺(tái)窗口,一般設(shè)置為true顯示控制臺(tái)
"MIMode": "gdb",
"miDebuggerPath": "C:/Program Files (x86)/mingw64/bin/gdb.exe", // miDebugger的路徑,注意這里要與MinGw的路徑對(duì)應(yīng)
"preLaunchTask": "g++", // 調(diào)試會(huì)話開(kāi)始前執(zhí)行的任務(wù),一般為編譯程序,c++為g++, c為gcc
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": false
}
]
}
]
}
tasks.json
如果遇到找不到文件 比如這樣:

把 "${workspaceFolder}"替換為 "\\"或 "http://"
{
"version": "2.0.0",
"command": "g++",
"args": [
"-g",
"${file}",
"-o",
"${fileBasenameNoExtension}.exe"
], // 編譯命令參數(shù)
"problemMatcher": {
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceFolder}"
],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
}
c_cpp_properties.json
"includepath"設(shè)置問(wèn)題 路徑獲取獲取方法為:cmd——》gcc -v -E -x c++ -

如果第一種出錯(cuò)請(qǐng)使用第二種
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceRoot}",
"C:/Program Files (x86)/mingw64/include/**",
"C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",
"C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",
"C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",
"C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include",
"C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed",
"C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"
],
"defines": [
"_DEBUG",
"UNICODE",
"__GNUC__=6",
"__cdecl=__attribute__((__cdecl__))"
],
"intelliSenseMode": "msvc-x64",
"browse": {
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": "",
"path": [
"${workspaceRoot}",
"C:/Program Files (x86)/mingw64/include/**",
"C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",
"C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",
"C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",
"C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include",
"C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed",
"C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"
]
}
}
],
"version": 4
}
第二種
{
"configurations": [
{
"name": "Win32",
"includePath": [
"C:/Program Files (x86)/mingw64/include/**",
"C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",
"C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",
"C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",
"C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include",
"C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed",
"C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"
],
"browse": {
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
}
}
],
"version": 4
}
第六步:配置c語(yǔ)言的.vscode文件
在你寫(xiě)代碼的地方新建文件夾和里面新建一個(gè)文件夾
然后在文件夾里面創(chuàng)建一個(gè).vscode文件夾

然后在.vscode文件夾里面創(chuàng)建如上圖所示的四個(gè)文件,文件名如下
launch.json
tasks.json
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch", // 配置名稱(chēng),將會(huì)在啟動(dòng)配置的下拉菜單中顯示
"type": "cppdbg", // 配置類(lèi)型,這里只能為cppdbg
"request": "launch", // 請(qǐng)求配置類(lèi)型,可以為launch(啟動(dòng))或attach(附加)
"program": "${workspaceFolder}/${fileBasenameNoExtension}.exe", // 將要進(jìn)行調(diào)試的程序的路徑
"args": [], // 程序調(diào)試時(shí)傳遞給程序的命令行參數(shù),一般設(shè)為空即可
"stopAtEntry": false, // 設(shè)為true時(shí)程序?qū)和T诔绦蛉肟谔?,一般設(shè)置為false
"cwd": "${workspaceFolder}", // 調(diào)試程序時(shí)的工作目錄,一般為${workspaceRoot}即代碼所在目錄 workspaceRoot已被棄用,現(xiàn)改為workspaceFolder
"environment": [],
"externalConsole": true, // 調(diào)試時(shí)是否顯示控制臺(tái)窗口,一般設(shè)置為true顯示控制臺(tái)
"MIMode": "gdb",
"miDebuggerPath": "C:/Program Files (x86)/mingw64/bin/gdb.exe", // miDebugger的路徑,注意這里要與MinGw的路徑對(duì)應(yīng)
"preLaunchTask": "gcc", // 調(diào)試會(huì)話開(kāi)始前執(zhí)行的任務(wù),一般為編譯程序,c++為g++, c為gcc
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": false
}
]
}
]
}
tasks.json
{
"version": "2.0.0",
"command": "gcc",
"args": [
"-g",
"${file}",
"-o",
"${fileBasenameNoExtension}.exe"
]
}
參考文章:
https://www.cnblogs.com/ggg-327931457/p/9694516.html
https://blog.csdn.net/weixin_40694527/article/details/84251461
http://www.chuancn.cn/post/將VSCode設(shè)置成中文語(yǔ)言環(huán)境
到此這篇關(guān)于vscode 配置 C/C++編譯環(huán)境(完整教程)的文章就介紹到這了,更多相關(guān)vscode C/C++編譯環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- vscode 配置 C/C++ 編譯環(huán)境的詳細(xì)圖文教程
- VSCode搭建C/C++編譯環(huán)境的詳細(xì)教程
- vscode和cmake編譯多個(gè)C++文件的實(shí)現(xiàn)方法
- VSCode C++多文件編譯的簡(jiǎn)單使用方法
- Visual Studio Code (VSCode) 配置搭建 C/C++ 開(kāi)發(fā)編譯環(huán)境的流程
- vscode?采用C++17版本進(jìn)行編譯的實(shí)現(xiàn)
- 2022最新使用VSCode編譯運(yùn)行C++的過(guò)程及會(huì)遇到的兩個(gè)問(wèn)題
- VSCode C/C++多文件編譯配置小結(jié)
- vscode+wsl運(yùn)行編譯c++的實(shí)現(xiàn)
相關(guān)文章
C++數(shù)據(jù)結(jié)構(gòu)AVL樹(shù)全面分析
今天的這一篇博客,我要跟大家介紹一顆樹(shù)——AVL樹(shù),它也是一顆二叉搜索樹(shù),它就是在二叉搜索樹(shù)中加了一個(gè)平衡因子的概念在里面,下面我就來(lái)和大家聊一聊這棵樹(shù)是個(gè)怎么樣的樹(shù)2021-10-10
C++Primer筆記之關(guān)聯(lián)容器的使用詳解
本篇文章對(duì)C++Primer 關(guān)聯(lián)容器的使用進(jìn)行了詳細(xì)的分析介紹。需要的朋友參考下2013-05-05
Linux C 獲取進(jìn)程退出值的實(shí)現(xiàn)代碼
本篇文章是對(duì)在Linux下使用c語(yǔ)言獲取進(jìn)程退出值的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
C++中實(shí)現(xiàn)OpenCV圖像分割與分水嶺算法
分水嶺算法是一種常用的圖像區(qū)域分割法,本文主要介紹了OpenCV圖像分割與分水嶺算法,使用C++實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2021-06-06
QT樹(shù)的具體項(xiàng)目實(shí)現(xiàn)
本文主要介紹了QT樹(shù)的具體項(xiàng)目實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06
c語(yǔ)言實(shí)現(xiàn)基數(shù)排序解析及代碼示例
這篇文章主要介紹了c語(yǔ)言實(shí)現(xiàn)基數(shù)排序解析及代碼示例,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12

