vscode?采用C++17版本進(jìn)行編譯的實(shí)現(xiàn)
有一天我在打題的時(shí)候,使用了這種方式來初始化一個(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í)記事本修改起來還挺麻煩的,所以在此記錄一下
Code Runner
在vscode里,我一般使用codeRunner這個(gè)插件來對(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++ 開發(fā)編譯環(huán)境的流程
- 2022最新使用VSCode編譯運(yùn)行C++的過程及會(huì)遇到的兩個(gè)問題
- VSCode C/C++多文件編譯配置小結(jié)
- vscode+wsl運(yùn)行編譯c++的實(shí)現(xiàn)
相關(guān)文章
C++ 手把手教你實(shí)現(xiàn)可變長(zhǎng)的數(shù)組實(shí)現(xiàn)
這篇文章主要介紹了C++ 手把手教你實(shí)現(xiàn)可變長(zhǎng)的數(shù)組實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
Java?C++?算法題解leetcode669修剪二叉搜索樹示例
這篇文章主要為大家介紹了Java?C++?算法題解leetcode669修剪二叉搜索樹示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09
C語言實(shí)現(xiàn)簡(jiǎn)單的推箱子小游戲
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)簡(jiǎn)單的推箱子小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07
在1個(gè)Matlab m文件中定義多個(gè)函數(shù)直接運(yùn)行的操作方法
這篇文章主要介紹了如何在1個(gè)Matlab m文件中定義多個(gè)函數(shù)直接運(yùn)行,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-12-12
C++中對(duì)象的常引用、動(dòng)態(tài)建立和釋放相關(guān)知識(shí)講解
這篇文章主要介紹了C++中對(duì)象的常引用、動(dòng)態(tài)建立和釋放相關(guān)知識(shí)講解,是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-09-09

