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

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日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改