我使用Visual来编译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中的一些设置,并将编译器命令从g++
更改为g++ -std=c++11
,这样只需按run code
按钮就可以编译程序。但是,我找不到。如果有其他方法来编译我的程序,请帮助我。
目前,我收到的错误如下:
some_program.cpp:在函数'int ()‘中: some_program.cpp:12:33: C++98中的'A‘必须由构造函数初始化,而不是由’{…}‘向量A={ 11,2,3,14 }初始化;
这些代码片段是正确的,并在使用C++11的在线编译器上进行了测试。这里,它试图使用C++98
编译,如错误中所示。
发布于 2019-01-01 05:39:27
在这里转到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",
},
希望这能帮上忙!
https://stackoverflow.com/questions/53995830
复制