• vscode 配置c/c++环境,无法生成 *.exe文件


    【问题】:

            使用vscode配置c/c++环境时,提示无法构建失败。

     

    【解决方案】:

            1. 当前结合网上找的资料已经检查过,tasks.json和launch.json文件,并无配置错误。

            2. F5调试时,终端输出错误调试信息如下:

    启动调试任务时,执行了2条命令。

    1)cmd /c chcp 65001>nul      (查了下好像是字符乱码相关)

    2)D:\Programs\mingw64\bin\gcc.exe -fdiagnostics-color=always -g F:\Data\code\vsc_template\main.c -o F:\Data\code\vsc_template\main.exe  (真正的编译脚本)

    在终端单独执行2)的脚本,可以在工作区正常生成 main.exe, 此时再按F5调试,可以正常设置断点并进行调试任务。

    由此断定,launch.json文件没有问题,问题出在tasks.json中。因为tasks.json任务没有生成 main.exe, 因此luanch.json 报错,找不到main.exe文件。

            3. 核查tasks.json配置如下:

     

    根据2中终端中打印的错误信息,因为能正确生成编译脚本,所以可知3 "command" 和 4"args"正确执行,问题出在1"type" 和2"label"上。2"label"仅仅是一个字符标识,只要保证launch.json中和这个字段保持一致即可。因此确认,问题出在1"type"上,cppbuild命令不对。

            4. 编译"type"字段,vscode自动提示该字段有3个可选值,如下图:

     

    将"type"值修改为 "shell",如下:

    F5再次启动调试,终端调试命令如下:

    对比2中终端输出信息,此时只有编译脚本。此时可以正常启动调试信息。

    【总结】

    1.vscode配置c/c++环境,无法调试时,先检查 tasks.json和launch.json文件配置。

    2.注意终端窗口输出的指令信息。

    3.本文的问题是因为,tasks.json文件中,启动指令错误导致,将"type"字段的值,从"cppbuild"修改为"shell", 可以正常启动编译调试。

  • 相关阅读:
    【Linux】软件安装与软件包管理 RPM&YUM
    Go 接口-契约介绍
    2023最新AI创作商用ChatGPT源码分享+支持AI绘画
    解决方案 SHUTDOWN_STATE xmlrpclib.py line: 794 && ERROR: supervisor shutting down
    Hbase java API与过滤器
    Skywalking agent.config配置属性表
    Linux操作文档——jumpserver平台系统部署与使用
    c++数据结构:图(邻接表)
    C++ 智能指针
    Docker ~ 从入门到入坑。
  • 原文地址:https://www.cnblogs.com/TheShore/p/18157701