c++ - C++ Visual Studio代码未与工作区中的单个文件夹一起编译

标签 c++ visual-studio-code compiler-errors workspace

我是Visual Studio Code的新手。我正在设置一个包含多个文件夹的工作区,以在根目录下使用相同的.vs代码创建单个项目。除非我的.cpp和.h文件位于根文件夹下,否则会出现编译错误:

g++.exe: error: main.cpp: No such file or directory



g++.exe: fatal error: no input files


换句话说,如果我将文件添加到工作区根目录下的子文件夹中,或者甚至将.vscode文件夹复制到每个子文件夹中,它将无法编译,并且会出现此错误。
我搞砸了launch.jsonsettings.json文件,无济于事。
这是launch.json配置:
{
    "name": "(gdb) Launch",
    "type": "cppdbg",
    "request": "launch",
    "program": "${workspaceFolder}/main.exe",
    "args": [],
    "stopAtEntry": false,
    "cwd": "${workspaceFolder}",
    "environment": [],
    "externalConsole": true,
    "MIMode": "gdb",
    "miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe",
    "preLaunchTask": "echo",
    "setupCommands": [
        {
            "description": "Enable pretty-printing for gdb",
            "text": "-enable-pretty-printing",
            "ignoreFailures": true
        }
    ]
}
我希望能够对所有也包含c++代码的所有子文件夹项目在根文件夹下使用相同的.vscode设置。这有可能吗?我想念什么?

最佳答案

首先,您需要检查tasks.json而不是launch.json,因为tasks.json具有用于编译源代码的配置。
tasks.json中,您可以提及源代码的相对路径。
并且每次需要编译源文件时,都需要编辑tasks.jsonlaunch.json您可以将.vscode文件夹放在根工作区中,并将源代码放在子文件夹中。

关于c++ - C++ Visual Studio代码未与工作区中的单个文件夹一起编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57342580/

相关文章:

c++ - 什么时候可以安全地从compare_exchange中删除memory_order_acquire或memory_order_release?

c++ - RcppArmadillo 不支持格式?

visual-studio-code - 在VSCode中的特定行打开文件

python - 错误 : No similarly named formulae found. 错误:没有名称为 "python"的可用公式或桶

c - c 中函数切换中的 ";" token 错误之前预期为 "{"

c - 如何定义宏?

c++ - C2664 : Explicit cast operator do not cast as expected

c++ - 使用filestream实现高分

visual-studio-code - 格式化代码时如何停止换行

c++ - 为什么在定义变量并链接库时为 "undefined reference"?