我试图开始在WSL中使用VS Code。我可以使用g ++在终端中编译得很好,但是当我尝试使用任务设置它时,它无法找到源文件。
这里举例说明我尝试使用简单的hello world C ++程序时的输出。我已经展示了一个简单的构建任务以及显示文件存在的ls。当我关注源代码文件窗口时,这两个任务都已运行。
Executing task: g++ helloworld.cpp <
>g++: fatal error: no input files compilation terminated.
>Terminal will be reused by tasks, press any key to close it.
>Executing task: ls <
>helloworld.cpp
>Terminal will be reused by tasks, press any key to close it.
我想我必须有一些根本的误解?毋庸置疑,当我关闭由任务创建的终端并尝试从命令行构建时,它可以工作。
testvscpp$ ls
helloworld.cpp
testvscpp$ g++ helloworld.cpp
testvscpp$ ls
a.out helloworld.cpp
任何帮助都将不胜感激。
编辑:构建任务如下。
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"taskName": "Simple build",
"type": "shell",
"command": "g++",
"args": [
"helloworld.cpp"
]
},
{
"taskName": "Show ls",
"type": "shell",
"command": "ls"
}
]
}
这与documentation中的版本略有不同 - 但我也完全尝试了这一点,但它也没有用。
答案 0 :(得分:0)
在"args":
下,参数-g
是必需的:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"taskName": "Simple build",
"type": "shell",
"command": "g++",
"args": [
"-g",
"helloworld.cpp"
]
},
{
"taskName": "Show ls",
"type": "shell",
"command": "ls"
}
]
}