g ++任务无法找到简单构建的文件

时间:2017-08-24 07:18:29

标签: c++ g++ visual-studio-code windows-subsystem-for-linux

我试图开始在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中的版本略有不同 - 但我也完全尝试了这一点,但它也没有用。

1 个答案:

答案 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"
        }
    ]
}