在 Visual Studio Code 中编译 C++11

Bis*_*Roy 8 c++ g++ c++11 visual-studio-code

我正在使用 Visual Studio Code 编译 C++ 程序,它适用于大多数 C++ 程序,因为它使用g++命令编译它。但是,我在c++11使用它编译程序时遇到了困难。

当我尝试编译 C++11 程序时,编译器命令g++尝试使用默认的 C++98 标准编译它,这会导致错误。

我知道使用g++ -std=c++11, 我们可以使用编译 C++11 程序g++,当我在我的cmdas 中使用它时它工作正常:

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错误中所见进行编译。

小智 29

转到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",
},
Run Code Online (Sandbox Code Playgroud)

或者

通过将其添加到用户设置来编辑此设置,如下所示以支持 C++17:

"code-runner.executorMap":{
    "cpp": "cd $dir && g++ -std=c++17 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
},
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助 !