參考文章:
環(huán)境
- Win10筆記本
-
已經(jīng)安裝好Vscode等
直接編譯時發(fā)現(xiàn)報錯:
C/C++需要在VScode中將包含C/C++源文件的目錄打開揭朝,但是有報錯
檢測到 #include 錯誤。請更新 includePath。已為此翻譯單元(E:\C&C++\string.cpp)禁用波形曲線摘仅。C/C++(1696)
無法打開 源 文件 "iostream"C/C++(1696)
查看問題 (Alt+F8)
快速修復... (Ctrl+.)
原因分析:
- 環(huán)境配置問題只恨,重新裝一下GCC
一毡泻、安裝VSCode
參考:
1.1 安裝VScode(略)
1.2 安裝VScode C/C++插件
二访锻、安裝MingGW
參考:
2.1 下載MingGW
地址:https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/
2.2 配置系統(tǒng)環(huán)境
將gcc.exe以及g++.exe添加到環(huán)境變量:
此電腦--郵件--屬性--關于--高級系統(tǒng)設置--環(huán)境變量
Path---編輯
新建---將解壓好的文件夾里面的bin目錄的絕對路徑黏貼進去---確定---確定--關閉
重啟電腦
打開cmd垢揩,輸入gcc -v
驗證是否成功即可
三话侄、VScode的C/C++開發(fā)環(huán)境配置
嫌麻煩可以直接看最后:
3.1 配置編譯器
打開存放C/C++腳本所在的目錄
- 按快捷鍵
Ctrl+Shift+P
調(diào)出命令面板亏推,輸入C/C++
,選擇“Edit Configurations(UI)”年堆,配置兩個選項:
-
編譯器路徑:
D:\MingGW\mingw64\bin\g++.exe
-
IntelliSense 模式:
windows-gcc-x64
此時吞杭,此時在側(cè)邊欄可以發(fā)現(xiàn)多了一個.vscode文件夾,里面有一個c_cpp_properties.json
里面的配置信息就與我們剛剛配置UI的內(nèi)容相對應
3.2 配置構(gòu)建任務
目的:創(chuàng)建一個
tasks.json
文件指定VScode構(gòu)建(編譯)程序的方式变丧,該tasks將使用g++編譯器將源代碼編譯為可執(zhí)行文件.exe芽狗。
在C/C++程序打開的頁面,按快捷鍵Ctrl+Shift+P
調(diào)出命令面板痒蓬,輸入tasks
童擎,選擇“Tasks:Configure Default Build Task”
點擊選擇“C/C++: g++.exe build active file”:
此時會生成并打開tasks.json
文件
3.3 調(diào)試設置的配置
目的:在.vscode文件夾中產(chǎn)生一個launch.json文件滴劲,用來配置調(diào)試的相關信息。
點擊菜單欄的Debug--->Start Debugging--->選擇C++(GDB/LLDB)--->如果有多個編譯器選擇剛剛安裝的那個g++編譯器
此時如果還是編譯有問題顾复,可以繼續(xù)參考這篇文章:
VSCode配置C/C++環(huán)境
3.4 自己在腳本所在的目錄里直接創(chuàng)建或覆蓋以下內(nèi)容
記得修改目錄名為實際目錄
launch.json:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"preLaunchTask": "g++.exe build active file",
"type": "cppdbg",//只能為cppdbg
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",//調(diào)試程序的路徑名稱
"args": [],//調(diào)試傳遞參數(shù)
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "D:\\MingGW\\mingw64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
tasks.json:
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "g++.exe build active file",
"command": "D:\\MingGW\\mingw64\\bin\\g++.exe",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "D:\\MingGW\\mingw64\\bin"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
c_cpp_properties.json:
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"cStandard": "c89",
"cppStandard": "c++17",
"intelliSenseMode": "windows-gcc-x64",
"compilerPath": "D:\\MingGW\\mingw64\\bin\\g++.exe"
}
],
"version": 4
}
四班挖、編譯運行或者調(diào)試
在打開C/C++程序的位置,運行--啟動調(diào)試debug/非調(diào)試模式運行Run, 成功運行芯砸!
五萧芙、總結(jié)
其實如果嫌麻煩,就是直接在放置C/C++腳本中假丧,創(chuàng)建并填寫上面說的那幾個配置文件就行双揪。