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 调用编 ...
随机推荐
- Numpy 模块常用函数速查表
序 号 方 法 说 明 1 array(object[, dtype, copy, order, subok, ndmin]) 创建一个数组 2 asarray(a[, dtype, o ...
- wordpress自建博客站,在页脚添加网站总访问次数
wordpress自建博客站,在页脚添加网站总访问次数 笔者使用的主题是 GeneratePress 版本:3.1.3 打开footer.php编辑 <div style="text- ...
- JWT 安全令牌
1 package com.reliable.yang.utils; 2 3 import io.jsonwebtoken.Jwt; 4 import io.jsonwebtoken.JwtBuild ...
- HMS Core 3D精准室内定位技术,打造“店铺级”出行体验
2022年4月28日,在华为折叠旗舰及全场景新品发布上,华为Mate Xs 2折叠屏手机搭载由HMS Core定位服务(Location Kit)提供的3D精准室内定位技术,为用户提供了"店 ...
- C++读取配置文件ini
一.设置 ini 保存位置 // 保存到 appdata 中 LPCWSTR GetIniPath() { WCHAR buffer[MAX_PATH]; BOOL result = SHGetSpe ...
- openGauss数据库将磁盘表转换为MOT
openGauss 数据库将磁盘表转换为 MOT 一.将磁盘表转换为 MOT 方法 磁盘表直接转换为 MOT 尚不能实现,这意味着尚不存在将基于磁盘的表转换为 MOT 的 ALTER TABLE 语句 ...
- leetcode-数组中两元素的最大乘积
题目描述 给你一个整数数组 nums,请你选择数组的两个不同下标 i 和 j,使 (nums[i]-1)*(nums[j]-1) 取得最大值. 请你计算并返回该式的最大值. 示例 1: 输入:nums ...
- Centos7、CentOS8、CentOS9 修改硬盘分区大小扩充root分区大小
Centos7 修改硬盘分区大小,实现CentOS无损分区扩容 扩充root分区大小 安装了CentOS7 开发环境及软件后,发现root分区已经才剩下不到1G空间,难不成要干掉重装,OMG,NO! ...
- react native 如何用vs code 进行调试
前言 以前做react-native 写的文章,在此分享一下. 在react-native 中有两种方式调试,一种是crome 调试,一种是本地调试,接下来介绍的是本地调试. 解决方案 在vs cod ...
- css 你真的了解padding吗?
前言 padding 简写属性在一个声明中设置所有内边距属性,实际上在使用过程中它对block元素和内联元素的处理是不一样的. 正文 对于block元素 如果宽度非auto那么容器会变大,如果容器宽度 ...