【问题标题】:Compiling C++11 in Visual Studio Code [closed]在 Visual Studio Code 中编译 C++11 [关闭]
【发布时间】:2019-05-28 11:32:21
【问题描述】:

我正在使用 Visual Studio Code 编译 C++ 程序,它适用于大多数 C++ 程序,因为它使用 g++ 命令编译它。但是,我在使用它编译 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 };

sn-ps 是正确的,并且已经通过使用 C++11 的在线编译器进行了测试。在这里,它正在尝试使用 C++98 进行编译,如错误所示。

【问题讨论】:

  • VS Code 不编译也不运行你的程序。 G++ 编译器编译并链接您的源代码,您的 CPU 运行代码。 VS Code 只是一个编辑器。

标签: c++ c++11 visual-studio-code g++


【解决方案1】:

转到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",
},

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 2019-07-24
    • 1970-01-01
    • 2016-10-20
    • 2017-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-20
    相关资源
    最近更新 更多