无法使用 VSCode 构建多个 CPP 文件

问题描述 投票:0回答:2

我已按照此处的说明使用 MingGW 在 Windows 10 上使用 C++ 设置 VSCode https://code.visualstudio.com/docs/languages/cpp 我已按照此链接中的说明创建任务来构建当前文件夹中的所有 .cpp 文件VS Code 不会构建具有多个 .ccp 源文件的 C++ 程序

{
"tasks": [
    {
        "type": "cppbuild",
        "label": "C/C++: g++.exe build active file",
        "command": "C:\\msys64\\mingw64\\bin\\g++.exe",
        "args": [
            "-fdiagnostics-color=always",
            "-g",
            "${fileDirname}\\**.cpp",
            "-o",
            "${fileDirname}\\${fileBasenameNoExtension}.exe"
        ],
        "options": {
            "cwd": "${fileDirname}"
        },
        "problemMatcher": [
            "$gcc"
        ],
        "group": {
            "kind": "build",
            "isDefault": true
        },
        "detail": "Task generated by Debugger."
    }
],
"version": "2.0.0"
}

但是,当尝试构建时,我收到此错误:

Starting build...
C:\msys64\mingw64\bin\g++.exe -fdiagnostics-color=always -g "C:\Users\user\Documents\CPP_test\.vscode\**.cpp" -o "C:\Users\user\Documents\CPP_test\.vscode\tasks.exe"
cc1plus.exe: fatal error: C:\Users\user\Documents\CPP_test\.vscode\**.cpp: Invalid argument
compilation terminated.

我尝试用

\\*.cpp
/**.cpp
/*/*.cpp
替换参数,但都不起作用。由于某种原因,它拒绝分解 * 通配符。

如何让 VS Code 构建文件夹中的所有 CPP 文件?

c++ visual-studio-code mingw
2个回答
0
投票

当文件tasks.json 在 Visual Studio 代码中打开并处于活动状态时,您正在运行构建任务。因此,

${fileDirname}
会扩展为tasks.json所在目录
C:\Users\user\Documents\CPP_test\.vscode
,而该目录下没有任何.cpp文件,因此
**.cpp
无法扩展。

只需将 Visual Studio Code 编辑器切换到任何其他 C++ 源文件即可。


-2
投票

我认为问题与我在tasks.json 处于活动状态时运行构建这一事实有关。问题是**.cpp没有展开或者没有提示没有找到cpp文件。论证本身似乎很糟糕,但事实显然并非如此。

© www.soinside.com 2019 - 2024. All rights reserved.