vscode连接好Linux后会发现c++还是用老版本,很多新特性不支持,解决方法如下:
1、先确保Linux服务器或者虚拟机已经安装好g++,可以在终端输入g++ -v的命令,如果出现g++版本就是已经安装好了,一定要4.8以上才支持c++11,如果低于4.8,那么就升级
2、测试c++11能不能编译,随便写个hello.cpp进行编译,输入命令
g++ -g -Wall -std=c++11 hello.cpp
如果编译成功,那么就说明支撑c++11。
3、然后如果不想每次输入c++11,那么就给它起别名,在终端输入
alias g++="g++ -std=c++11"
这样g++用c++11编译cpp文件就可以直接输入g++ hello.cpp了。但是这样并不是永久生效的,如果要永久生效需要改/root/.bashrc文件,改之前可以先看一下文件里面有那些内容:
一开始应该是没有红色方框的内容,需要自己添加,使用vim /root/.bashrc修改,把红色方框那一行加进去,wq保存退出,然后再在终端输入 source .bashrc 让其生效。
4、这时候可能vscode还是不能识别c++11的新特性,先按ctrl+shift+p,然后选择下面红色方框,点击进去
5、对红色方框进行下面修改即可,重连一下服务器或者虚拟机测试一下。
6、最后附带查看C++版本的几行代码,对其进行编译即可
#include<iostream>
int main(){
int x= __cplusplus;
std::cout<<x<<std::endl;
return 0;
}
这种方法的弊端是,每次打开新文件夹,都需要把步骤4和步骤5设置一下!