vscode不能运行c语言程序

img


用dev可以运行的c程序到vscode里就就不行了。
网上去将环境变量等问题解决了,但是仍然有几个问题存在

这个错误通常是由于VSCode在尝试使用GDB调试器时找不到可执行文件而引起的。以下是可能导致这个错误的几种原因和相应的解决方法:

您的项目的可执行文件可能不在当前工作目录下。在启动GDB时,VSCode会尝试将工作目录更改为您的项目所在的目录,然后再启动GDB。如果可执行文件不在当前目录下,GDB就无法找到它。您可以通过在VSCode的配置文件中设置“program”选项来指定可执行文件的完整路径。例如:

"configurations": [
    {
        "name": "Debug",
        "type": "cppdbg",
        "request": "launch",
        "program": "${workspaceFolder}/build/your_executable_file",
        ...
    }
]
在上面的示例中,可执行文件位于项目目录下的build子目录中

如果您使用的是CMake或其他构建系统,则可能需要使用调试器扩展来调试您的程序在这种情况下,您需要将构建过程的输出设置为GDB的调试符号您可以在CMakeLists.txt文件中添加以下代码:

```swift
set(CMAKE_BUILD_TYPE Debug)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g")
这将使CMake在构建过程中生成调试符号,并将它们包含在可执行文件中

如果您的项目包含多个源文件,则可能需要在VSCode的配置文件中指定所有源文件的路径例如:

```bash
"configurations": [
    {
        "name": "Debug",
        "type": "cppdbg",
        "request": "launch",
        "program": "${workspaceFolder}/build/your_executable_file",
        "args": [],
        "cwd": "${workspaceFolder}",
        "environment": [],
        "externalConsole": true,
        "MIMode": "gdb",
        "preLaunchTask": "build",
        "sourceFileMap": {
            "${workspaceFolder}": "${env:HOME}/Projects/your_project/src"
        },
        "setupCommands": [
            {
                "description": "Enable pretty-printing for gdb",
                "text": "-enable-pretty-printing",
                "ignoreFailures": true
            }
        ]
    }
]

在上面的示例中,“sourceFileMap”选项将项目目录映射到源代码目录。这将确保GDB可以找到所有源文件。请注意,您需要将路径替换为您自己的项目和源代码目录。

希望这些解决方法对您有帮助!

c文件命名最好不要有空格,换个名字 再编译试试