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
長這樣
{ "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++多文件編譯的簡單使用方法
- 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ù)據(jù)結(jié)構(gòu)之布隆過濾器
這篇文章主要介紹了C++ 數(shù)據(jù)結(jié)構(gòu)之布隆過濾器的相關(guān)資料,需要的朋友可以參考下2017-06-06C語言實(shí)現(xiàn)英文文本詞頻統(tǒng)計(jì)
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)英文文本詞頻統(tǒng)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03C++數(shù)據(jù)模型應(yīng)用在QML委托代理機(jī)制中
這篇文章主要介紹了在QML委托代理機(jī)制中使用C++數(shù)據(jù)模型,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08C++中的類成員函數(shù)當(dāng)線程函數(shù)
這篇文章主要介紹了C++中的類成員函數(shù)當(dāng)線程函數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11