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", 可以正常启动编译调试。
vscode 配置c/c++环境,无法生成 *.exe文件的更多相关文章
- Visual Studio Code (vscode) 配置 C / C++ 环境
Visual Studio Code (vscode) 配置 C / C++ 环境 昨天突发奇想,想使用vscode配置C++环境,因为不想下载 Dev OR codeblock,然后借助了很多网上教 ...
- (超简单)VScode配置C/C++环境图文教程(Windows系统下)
(超简单)VScode配置C/C++环境图文教程(Windows系统下) 本文参考文章 Visual Studio Code (vscode) 配置 C / C++ 环境 下载VScode.下载Min ...
- Win10下使用VSCode配置python运行环境
VSCode配置python运行环境 安装python 到官网下载python,直接安装即可,在安装过程中可以选择将python加入环境变量 安装VSCode 官网下载,直接安装 配置 安装pytho ...
- VSCode配置python调试环境
VSCode配置python调试环境 很久之前的一个东东,翻出来看看 VSCode配置python调试环境 * 1.下载python解释器 * 2.在VSCode市场中安装Python插件 * 4.在 ...
- VSCode配置JAVA开发环境
VSCode配置JAVA开发环境 1:给机器安装JDK.MAVEN 下载JDK 下载路径:https://www.oracle.com/technetwork/java/javase/download ...
- [原创]Matlab之GUI生成EXE文件
近期因为项目需要,简化流程,写了一些Matlab程序,并配备上了GUI界面使其简单易用.然后问题来了,可移植性.使用Matlab生成EXE文件(可以封装很多的function),然后在一台安装有Mat ...
- 如何打包/运行jar包,及生成exe文件
关于如何打包/运行jar包,以及生成exe文件.之前各种查询.博客,终于搞明白究竟是咋回事.记得还做过笔记的.今天要打包生成exe用的时候,居然忘了咋怎来着.去查看之前的笔记,死活没找到(好像被删掉了 ...
- Linux环境崩溃生成core文件以及调试
Linux环境崩环境溃生成core文件以及调试 gdb结合coredump定位崩溃进程 Linux 使用core file文件快速定位程序崩溃代码行 http://www.cnblogs.com/ha ...
- matlab 生成.exe文件 转
本文链接:https://blog.csdn.net/qq_20823641/article/details/51863737 如何将MATLAB程序编译成独立可执行的程序?如何将编译好的独立可执行程 ...
- GUI生成exe文件
gui如何生成exe文件: 已经有gui.m和gui.fig文件 1 安装编译器.已经安装好了vs10的. 2 设置编译器.在matlab命令行输入mex -setup,选择安装的c编译器 3 调用编 ...
随机推荐
- k8s-master 设置调度污点
k8s master 调度污点 NoSchedule:K8Snode添加这个effecf类型污点,新的不能容忍的pod不能再调度过来,但是老的运行在node上不受影响 NoExecute:K8Snod ...
- 性能测试系列:Jmeter使用记录
jmeter配置环境变量vi /etc/profileexport PATH=$PATH:/tmp/jmeter/apache-jmeter-5.4.1/binsource /etc/profile ...
- java使用ftp连接linux处理文件
1.Maven依赖 <!-- FTP使用包 --> <dependency> <groupId>commons-net</groupId> <ar ...
- 【已解决】ajax和flask路由传json格式数据出现undefined和object错误
描述一下问题背景: 前台封装一个json字符串给后台传输数据,后台的ajax获取请求之后把接收的数据显示到前台html表格上. jsonify:这个方法可以把字典转化为json字符串 通过jsonif ...
- MySQL创建和操纵表
表创建基础 CREATE TABLE customers ( cust_id int NOT NULL AUTO_INCREMENT , cust_name char(50) NOT NULL , c ...
- 22 axios和axios拦截器
1. axios 由于jquery有严重的地狱回调逻辑. 再加上jquery的性能逐年跟不上市场节奏. 很多前端工程师采用axios来发送ajax. 相比jquery. axios更加灵活. 且容易使 ...
- #线段树分治,背包#CF601E A Museum Robbery
题目 有 \(n\) 个展品正在被展览,每一个展品都有一价值 \(v\) 个和一个混乱度 \(w\) ,现在有 \(m\) 次操作: 1 \(v\) \(w\) :加入一个新的展品,价值为\(v\), ...
- OpenHarmony社区运营报告(2023年6月)
本月快讯 • 6月12日,以"OpenHarmony共建开放,共享未来"为主题的2023开放原子全球开源峰会OpenAtom OpenHarmony(以下简称"Ope ...
- 网络组件axios可以在OpenHarmony上使用了
什么是axios 上古浏览器页面在向服务器请求数据时,因为返回的是整个页面的数据,页面都会强制刷新一下,这对于用户来讲并不是很友好.并且我们只是需要修改页面的部分数据,但是从服务器端发送的却是整个页面 ...
- 掌握 C# 变量:在代码中声明、初始化和使用不同类型的综合指南
C# 变量 变量是用于存储数据值的容器. 在 C# 中,有不同类型的变量(用不同的关键字定义),例如: int - 存储整数(没有小数点的整数),如 123 或 -123 double - 存储浮点数 ...