主要根据官网的文档https://code.visualstudio.com/docs/cpp/config-wsl
区别在tasks.json的配置时,“args"项加上 “-std=c++14” 指定c++编译版本,要不然默认编译版本是c++98,很多语法不支持,具体配置如下
{
“version”: “2.0.0”,
“windows”: {
“options”: {
“shell”: {
“executable”: “bash.exe”,
“args”: [”-c"]
}
}
},
“tasks”: [
{
“label”: “build hello world on WSL”,
“type”: “shell”,
“command”: “g++”,
“args”: [
“-std=c++14”,//指定c++编译版本
“-g”,
“-o”,
“/home/chengzhou/projects/helloworld/helloworld.out”,
“helloworld.cpp”
],
“group”: {
“kind”: “build”,
“isDefault”: true
}
},
{
“type”: “shell”,
“label”: “g++ build active file”,
“command”: “/usr/bin/g++”,
“args”: [
“-g”,
“
f
i
l
e
"
,
"
−
o
"
,
"
{file}", "-o", "
file","−o","{fileDirname}\
f
i
l
e
B
a
s
e
n
a
m
e
N
o
E
x
t
e
n
s
i
o
n
.
e
x
e
"
]
,
"
o
p
t
i
o
n
s
"
:
"
c
w
d
"
:
"
/
u
s
r
/
b
i
n
"
,
"
p
r
o
b
l
e
m
M
a
t
c
h
e
r
"
:
[
"
{fileBasenameNoExtension}.exe" ], "options": { "cwd": "/usr/bin" }, "problemMatcher": [ "
fileBasenameNoExtension.exe"],"options":"cwd":"/usr/bin","problemMatcher":["gcc”
],
“group”: “build”
}
]
}