vscode?采用C++17版本進(jìn)行編譯的實(shí)現(xiàn)
有一天我在打題的時(shí)候,使用了這種方式來(lái)初始化一個(gè)vector
vector<int> nums = {<!--{C}%3C!%2D%2D%20%2D%2D%3E-->-4,-1,0,3,10};編譯器馬上很快就執(zhí)行了編譯命令
if ($?) { g++ day2_1.cpp -o day2_1 } ; if ($?) { .\day2_1 }
并且也很快的報(bào)了錯(cuò)(寄了)
day2_1.cpp: In function 'int main()':
day2_1.cpp:17:37: error: in C++98 'nums' must be initialized by constructor, not by '{...}'
vector<int> nums = {-4,-1,0,3,10};
很明顯這是因?yàn)槲业木幾g命令采用的C++版本不支持這種vector初始化的方式
所以我們需要修改編譯選項(xiàng)
但是vscode這個(gè)高級(jí)記事本修改起來(lái)還挺麻煩的,所以在此記錄一下
Code Runner
在vscode里,我一般使用codeRunner這個(gè)插件來(lái)對(duì)代碼進(jìn)行編譯運(yùn)行,所以我這里的修改版本是在Code Runner上修改的
我們直接進(jìn)入vscode,在我們.vsode文件夾下,修改setting.json文件,加入一條設(shè)置
"code-runner.executorMap": {
"cpp": "cd $dir && g++ -std=c++17 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
}

修改保存完之后,我們?cè)俅尉幾g這個(gè)文件,可以發(fā)現(xiàn)命令行里的編譯命令變成如下所示了
if ($?) { g++ -std=c++17 day2_1.cpp -o day2_1 } ; if ($?) { .\day2_1 }
good,這樣我們的代碼就能正確的編譯運(yùn)行了
不用Code Runner
有些hxd不喜歡用Code Runner,那也行,只用在.vscode下的tasks.json文件中,設(shè)置一下編譯選項(xiàng)即可

我的tasks.json長(zhǎng)這樣
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "task g++", //修改此項(xiàng)
//"command": "D:\\2Software\\mingw64\\bin\\g++.exe",
"command": "C:\\Mingw64\\mingw64\\bin\\g++.exe",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"-std=c++17"
],
"options": {
"cwd": "C:\\Mingw64\\mingw64\\bin"
},
"problemMatcher": [
"$gcc"
],
"group": "build"
}
]
}
到此這篇關(guān)于vscode 采用C++17版本進(jìn)行編譯的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)vscode C++17編譯內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- vscode 配置 C/C++ 編譯環(huán)境的詳細(xì)圖文教程
- VSCode搭建C/C++編譯環(huán)境的詳細(xì)教程
- vscode 配置 C/C++編譯環(huán)境(完整教程)
- vscode和cmake編譯多個(gè)C++文件的實(shí)現(xiàn)方法
- VSCode C++多文件編譯的簡(jiǎn)單使用方法
- Visual Studio Code (VSCode) 配置搭建 C/C++ 開(kāi)發(fā)編譯環(huá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)之布隆過(guò)濾器
這篇文章主要介紹了C++ 數(shù)據(jù)結(jié)構(gòu)之布隆過(guò)濾器的相關(guān)資料,需要的朋友可以參考下2017-06-06
C語(yǔ)言實(shí)現(xiàn)英文文本詞頻統(tǒng)計(jì)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)英文文本詞頻統(tǒng)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03
C++數(shù)據(jù)模型應(yīng)用在QML委托代理機(jī)制中
這篇文章主要介紹了在QML委托代理機(jī)制中使用C++數(shù)據(jù)模型,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
C++中的類(lèi)成員函數(shù)當(dāng)線(xiàn)程函數(shù)
這篇文章主要介紹了C++中的類(lèi)成員函數(shù)當(dāng)線(xiàn)程函數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11

