前提
Vscodeでc++のバージョンを変更したいです。下記のコードでc++のバージョンを確認したところ自分の環境ではc++のバージョンはc++14でした。
また、std::gcdやstd::lcmも認識されていないことを確認したため間違いないです。私は普段Run codeを用いてc++のコードのコンパイルを行っています。
実現したいこと
毎回コンパイルする際にコマンドをいちいち打たずに今まで通りRun codeを用いて出来ればc++20で実行できるようにしたいです。
c++のバージョンを確認したコード
C++
1#include<bits/stdc++.h> 2#define rep(i, n) for (int i = 0; i < (int)(n); i++) 3#define repi(i,a,b) for(int i = a; i <= (int)(b); i++) 4typedef long long ll; 5using namespace std; 6 7int main(){ 8 9long version = __cplusplus; 10std::cout << "C++ Version : " << version << "\n"; 11 12 13 14 15 return 0; 16}
結果
C++ Version : 201402
上は調べたところc++14を表していました。c++20である場合、202002と出るようです。
試したこと
様々なサイトを調べて色々c_cpp_properties.jsonをいじったりしましたがエラーが出てしまったりしてしまいバージョン変更をすることができませんでした。
c_cpp_properties.json
{ "configurations": [ { "name": "Win32", "includePath": [ "${workspaceFolder}/**" ], "defines": [ "_DEBUG", "UNICODE", "_UNICODE" ], "windowsSdkVersion": "10.0.19041.0", "compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe", "intelliSenseMode": "windows-msvc-x64", "cppStandard": "c++20", "cStandard": "c17" } ], "version": 4 }
settings.json
{ "latex-workshop.latex.recipes": [ { "name": "make_ptex2pdf", "tools": [ "ptex2pdf", ] } ], "latex-workshop.latex.tools": [ { "name": "ptex2pdf", "command": "ptex2pdf", "args": [ "-interaction=nonstopmode", "-l", "-ot", "-kanji=utf8 -synctex=1", "%DOC%" ] } ], "latex-workshop.view.pdf.viewer": "tab", "workbench.statusBar.visible": true, "editor.renderControlCharacters": true, "files.autoGuessEncoding": true, "code-runner.runInTerminal": true, "workbench.colorCustomizations": { }, "terminal.integrated.enableMultiLinePasteWarning": false, "remote.SSH.remotePlatform": { "blue31.ced.cei.uec.ac.jp": "linux", "sol": "linux" }, "csharp.suppressDotnetInstallWarning": true, "C_Cpp.default.cppStandard": "c++17", "C_Cpp.default.cStandard": "c17", "code-runner.clearPreviousOutput": true, "code-runner.executorMapByGlob": { "pom.xml": "cd $dir && mvn clean package" }, "code-runner.executorMapByFileExtension": { ".vb": "cd $dir && vbc /nologo $fileName && $dir$fileNameWithoutExt", ".vbs": "cscript //Nologo", ".scala": "scala", ".jl": "julia", ".cr": "crystal", ".ml": "ocaml", ".exs": "elixir", ".hx": "haxe --cwd $dirWithoutTrailingSlash --run $fileNameWithoutExt", ".rkt": "racket", ".scm": "csi -script", ".ahk": "autohotkey", ".au3": "autoit3", ".kt": "cd $dir && kotlinc $fileName -include-runtime -d $fileNameWithoutExt.jar && java -jar $fileNameWithoutExt.jar", ".kts": "kotlinc -script", ".dart": "dart", ".pas": "cd $dir && fpc $fileName && $dir$fileNameWithoutExt", ".pp": "cd $dir && fpc $fileName && $dir$fileNameWithoutExt", ".d": "cd $dir && dmd $fileName && $dir$fileNameWithoutExt", ".hs": "runhaskell", ".nim": "nim compile --verbosity:0 --hints:off --run", ".csproj": "dotnet run --project", ".fsproj": "dotnet run --project", ".lisp": "sbcl --script", ".kit": "kitc --run", ".v": "v run", ".vsh": "v run", ".sass": "sass --style expanded", ".cu": "cd $dir && nvcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt", ".ring": "ring" }, "code-runner.executorMap": { "javascript": "node", "java": "cd $dir && javac $fileName && java $fileNameWithoutExt", "c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt", "cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt", "objective-c": "cd $dir && gcc -framework Cocoa $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt", "php": "php", "python": "python -u", "perl": "perl", "perl6": "perl6", "ruby": "ruby", "go": "go run", "lua": "lua", "groovy": "groovy", "powershell": "powershell -ExecutionPolicy ByPass -File", "bat": "cmd /c", "shellscript": "bash", "fsharp": "fsi", "csharp": "scriptcs", "vbscript": "cscript //Nologo", "typescript": "ts-node", "coffeescript": "coffee", "scala": "scala", "swift": "swift", "julia": "julia", "crystal": "crystal", "ocaml": "ocaml", "r": "Rscript", "applescript": "osascript", "clojure": "lein exec", "haxe": "haxe --cwd $dirWithoutTrailingSlash --run $fileNameWithoutExt", "rust": "cd $dir && rustc $fileName && $dir$fileNameWithoutExt", "racket": "racket", "scheme": "csi -script", "ahk": "autohotkey", "autoit": "autoit3", "dart": "dart", "pascal": "cd $dir && fpc $fileName && $dir$fileNameWithoutExt", "d": "cd $dir && dmd $fileName && $dir$fileNameWithoutExt", "haskell": "runhaskell", "nim": "nim compile --verbosity:0 --hints:off --run", "lisp": "sbcl --script", "kit": "kitc --run", "v": "v run", "sass": "sass --style expanded", "scss": "scss --style expanded", "less": "cd $dir && lessc $fileName $fileNameWithoutExt.css", "FortranFreeForm": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt", "fortran-modern": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt", "fortran_fixed-form": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt", "fortran": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt" }, }
補足
何か更に必要な情報がございましたらお教え下さると幸いです
回答1件
あなたの回答
tips
プレビュー