strongman_ives 2023-03-15 08:18 采纳率: 71.4%
浏览 41
已结题

vscode不能运行c语言程序

img


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

  • 写回答

3条回答 默认 最新

  • 沙滩上寻找贝壳 2023-03-15 08:44
    关注

    这个错误通常是由于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可以找到所有源文件。请注意,您需要将路径替换为您自己的项目和源代码目录。

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月23日
  • 已采纳回答 3月15日
  • 创建了问题 3月15日

悬赏问题

  • ¥50 swiftui @query 报错
  • ¥50 怎么解决刷卡或扫码后,点击软件输入框,win10屏幕键盘不会自动弹出的问题
  • ¥15 如何使用arcgispro的训练深度模型,发现water和nowater精度为0?(相关搜索:深度学习)
  • ¥20 matlab作业不太懂呀有问题能给个代码吗
  • ¥15 自制电路图为何无法驱动ESP01S?
  • ¥15 前端加access数据库
  • ¥15 ARCGIS 多值提取到点 ERROR 999999
  • ¥15 mysql异常断电, [MY-011971] [InnoDB]
  • ¥15 uni.onBluetoothDeviceFound熄屏不运行
  • ¥15 求PHDA糖尿病并发症数据集,有偿