我已按照此处的说明使用 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 文件?
当文件tasks.json 在 Visual Studio 代码中打开并处于活动状态时,您正在运行构建任务。因此,
${fileDirname}
会扩展为tasks.json所在目录C:\Users\user\Documents\CPP_test\.vscode
,而该目录下没有任何.cpp文件,因此**.cpp
无法扩展。
只需将 Visual Studio Code 编辑器切换到任何其他 C++ 源文件即可。
我认为问题与我在tasks.json 处于活动状态时运行构建这一事实有关。问题是**.cpp没有展开或者没有提示没有找到cpp文件。论证本身似乎很糟糕,但事实显然并非如此。