Visual Studio Codeを使用してC++プログラムをコンパイルしていますが、g++
コマンドを使用してコンパイルするため、ほとんどのC++プログラムで機能します。しかし、それを使用してc++11
プログラムをコンパイルするのは困難です。
C++ 11プログラムをコンパイルしようとすると、コンパイラコマンドg++
がデフォルトのC++ 98標準を使用してコンパイルしようとするため、エラーが発生します。
g++ -std=c++11
を使用すると、g++
を使用してC++ 11プログラムをコンパイルでき、cmd
で次のように使用すると問題なく機能することを認識しています。
g ++ -std = c ++ 11 some_program.cpp
Visual Studio Codeの設定を微調整し、コンパイラコマンドをg++
からg++ -std=c++11
に変更して、run code
ボタンを押すだけでプログラムをコンパイルできるようにしたいと思います。しかし、私はそれを見つけることができません。プログラムをコンパイルする別の方法がある場合は、私を助けてください。
現在、次のようなエラーが発生しています。
some_program.cpp:関数 'int main()'で:
some_program.cpp:12:33:エラー:C++ 98では、「A」は「{...}」ではなく、コンストラクターによって初期化する必要があります。ベクトルA = {11,2,3,14};
スニペットは正しく、C++ 11を使用するオンラインコンパイラでテストされています。ここでは、エラーで表示されるC++98
を使用してコンパイルしようとしています。
Settings
> User Settings
に移動します。ここでRun Code Configuration
を検索します。
このメニューで、次を見つけます:"code-runner.executorMap"
C++ 11をサポートするために、以下のようにユーザー設定に追加して、この設定を編集します。
"code-runner.executorMap":{
"cpp": "cd $dir && g++ -std=c++11 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
},
OR
この設定を編集して、以下のようにユーザー設定に追加し、C++ 17をサポートします。
"code-runner.executorMap":{
"cpp": "cd $dir && g++ -std=c++17 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
},
お役に立てれば !