在Visual Studio代码中编译C++11

Compiling C++11 in Visual Studio Code

本文关键字:编译 C++11 代码 Visual Studio      更新时间:2023-10-16

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

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

我知道使用g++ -std=c++11,我们可以使用g++编译C++11程序,当我在cmd中使用它时,它可以很好地工作:

g++-std=c++11 some_program.cpp

我希望我可以调整Visual Studio代码中的一些设置,并将编译器命令从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",
},

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

"code-runner.executorMap":{
"cpp": "cd $dir && g++ -std=c++17 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
},

希望这能有所帮助!