Ubantu 安装vscode配置c/c++环境

文章目录

  • 安装VSCode
      • 注意 snap包冲突
  • 安装C/C++编译环境
      • 注意 进程锁占用
  • 配置C++开发环境
    • 安装插件
    • 配置tasks.json
    • 配置c_cpp_properties.json
  • 配置调试环境
    • 配置 launch.json

安装VSCode

方式一:ubantu 软件里面直接安装
方式二:官网下载deb安装包https://code.visualstudio.com/

注意 snap包冲突

我在安装时,先从官网上下载了deb但是下到一半时中止了,然后在系统软件里面再安装Code时,报错:

code:status-code=409 kind=snap-change-conflict message=snap"code" has “install-snap”" change in progress

这个错误通常表示在你尝试安装 code 软件时,由于系统中已经有一个正在安装或正在更新的 snap 包而导致冲突。
我的解决方式是:
sudo snap changes
看系统中正在进行的 snap 操作。找到与 code 包相关的操作记录(通常以 install 或 refresh 开头),然后使用以下命令中止它:
sudo snap abort [change-id]
将 [change-id] 替换为你要中止的操作的ID。

如果你之前曾尝试安装 code 软件但未成功,则可能需要删除旧的安装包。
sudo snap list
列出当前安装的所有 snap 包。找到与 code 软件相关的包并使用以下命令删除它:
sudo snap remove [package-name]
将 [package-name] 替换为你要删除的包的名称。

在这里插入图片描述在这里插入图片描述

然后就能够重新安装 code 软件了。
在这里插入图片描述

安装C/C++编译环境

  1. 更新软件源: sudo apt-get update
  2. 安装 gcc 工具链: sudo apt-get install build-essential gdb
  3. 确认 gcc 安装成功: gcc -v

注意 进程锁占用

下载时,经常会有apt-get安装资源锁报错:
在这里插入图片描述解决方案有两种:
一种是删除对应的进程
一种是删除对应的锁文件

我懒得去查进程了,直接删除的锁文件:
在这里插入图片描述

配置C++开发环境

安装插件

  1. 打开VSCode。
  2. 按下快捷键 或点击侧边栏的 “Extensions” 搜索插件。
  3. 搜索并安装 C/C++ 相关插件。
    在这里插入图片描述4. 打开一个文件夹,创建测试文件helloworld.c
    在这里插入图片描述
#include <stdio.h>int main(){printf("hello world");int a = 2;printf("%d",a);return 0;
}

配置tasks.json

  1. 配置.vscode下的tasks.json
    tasks.json 文件配置: tasks.json 用于告诉 VSCode 应该怎么编译源文件。
    可以从模版生成 tasks.json 文件,可以直接手动添加。
    在菜单栏点击配置任务,如图所示:
    在这里插入图片描述
    在弹出框中依次选择 “Create tasks.json file from template” - “others”。此时项目目录的 .vscode 目录下会出现 tasks.json 文件。
{"tasks": [{"type": "cppbuild","label": "C/C++: gcc 生成活动文件","command": "/usr/bin/g++","args": ["-g","${file}","-o","${fileDirname}/${fileBasenameNoExtension}"],"options": {"cwd": "${fileDirname}"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true},"detail": "调试器生成的任务。"}],"version": "2.0.0"
}

配置好 task.json 之后,就可以在 VSCode 的菜单栏一键进行项目构建工作(也可以使用快捷键 Ctrl-Shift-b )。
在这里插入图片描述
即生成了可执行文件

配置c_cpp_properties.json

  1. c_cpp_properties.json 文件配置:
    c_cpp_properties.json文件用于配置 C/C++ 相关信息,可以告诉VSCode 使用的编译器、查找 include 文件的路径以及 C 文件和 CPP 文件的解析标准等,帮助 VSCode 的自动代码分析工具 IntelliSense 进行语法检查。
    在 VSCode 中,在某个打开的 C++ 文件下,按下 Ctrl+Shift+P 键,选择 C/C++: Edit
    Configurations (JSON) 即可在 .vscode 下创建 c_cpp_properties.json 。
{"configurations": [{"name": "Linux","includePath": ["${workspaceFolder}/**"],"defines": [],"compilerPath": "/usr/bin/gcc","cStandard": "c11","cppStandard": "gnu++14","intelliSenseMode": "linux-gcc-x64"}],"version": 4
}

配置调试环境

配置 launch.json

.vscode 目录下的 launch.json 文件,用于配置 VSCode 的调试器。
在调试选项下,生成 launch.json 模版(也可以直接创建该文件)。
在这里插入图片描述
生成 launch.json 文件,在其右下角会有 Add Configurations 按钮。选择 C/C++: (gdb)
Launch 或 C/C++: (gdb) Attach (launch模式由 VSCode 来启动一个独立的具有 debug 模式的
程序;attach 模式附加于一个已经启动的程序)。
在这里插入图片描述

{"version": "0.2.0","configurations": [{"name": "(gdb) 启动","type": "cppdbg","request": "launch","program": "${workspaceFolder}/${fileBasenameNoExtension}","args": [],"stopAtEntry": false,"cwd": "${fileDirname}","environment": [],"externalConsole": false,"MIMode": "gdb","preLaunchTask": "C/C++: gcc 生成活动文件","setupCommands": [{"description": "为 gdb 启用整齐打印","text": "-enable-pretty-printing","ignoreFailures": true},],"miDebuggerPath":  "/usr/bin/gdb"}]
}

然后添加断点,就可以调试文件了。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/409941.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot多环境配置与添加logback日志

1、多环境配置 一个项目会有多个运行环境 所以SpringBoot提供了可以适应多个环境的配置文件 每个文件对应一个端口号 application-dev.yml 开发环境 端口8090 application-test.yml 测试环境 端口8091 application-prod.yml 生产环境 端口8092 在application中选择使用哪个…

红日靶场2 ATTCK攻击

360免杀其实没有你想象的那么难 首先最重要的是 你要用免杀脚本对你所生成的木马病毒进行加密 然后加密系统的内核&#xff0c;就是上一篇文章所提及的 是通过两次加密之后 所输出的结果&#xff0c;让360无法感知到&#xff0c;然后先通过java反序列化工具将冰蝎工具的JSP后门…

c语言:用一个宏,可以将一个整数的二进制位的奇数位和偶数位交换。

题目 用一个宏&#xff0c;可以将一个整数的二进制位的奇数位和偶数位交换。 如&#xff1a;01&#xff0c;是1&#xff0c;交换完是10&#xff0c;是2. 思路 1.分别取出奇数位上的数字和偶数位上的数字 举个例子&#xff1a;1001 0110 1001 0110 奇…

长亭科技-雷池WAF的安装与使用

目录 1、安装雷池 2、登录雷池 3、简单配置 4、防护测试 5、其他补充 1、安装雷池 在Linux系统上执行如下命令 &#xff08;需要docker环境&#xff0c;提前把docker、docker-compose 装好&#xff09; bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release…

二叉树的遍历 Java

二叉树的遍历 递归法前序遍历中序遍历后序遍历改进 迭代法前序、后序遍历中序遍历 二叉树的统一迭代法(未完成)Java 中 null、NULL、nullptr 区别 public class TreeNode {int val;TreeNode left;TreeNode right;TreeNode() {}TreeNode(int val) { this.val val; }TreeNode(in…

python代码练习:链表——分隔链表

参考知识&#xff1a; 什么是链表Optional有什么用 题目&#xff1a; 题目来源&#xff1a;力扣 代码&#xff1a; from typing import Optionalclass ListNode: 链表结点的数据类型 def __init__(self, val0,nextNone):self.val valself.next nextdef convert_to_linked…

likeshop开源免费商用电商系统存在任意文件上传漏洞CVE-2024-0352

免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。 1. likeshop开源免费商用电商系统简介 微信公众号搜索…

Xcode 15 for Mac 正式激活版下载

Xcode 15 for Mac是苹果公司开发的一款集成开发环境&#xff08;IDE&#xff09;&#xff0c;专门用于开发Mac、iOS、iPadOS、tvOS、watchOS和应用程序。Xcode 15引入了一系列新功能和改进&#xff0c;旨在提高开发人员的工作效率。 软件下载&#xff1a;Xcode 15 for Mac 正式…

链表练习 Leetcode234.回文链表

题目传送门&#xff1a;Leetcode234 给你一个单链表的头节点 head &#xff0c;请你判断该链表是否为回文链表。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,2,1] 输出&#xff1a;true示例 2&…

使用WAF防御网络上的隐蔽威胁之扫描器

在网络安全领域&#xff0c;扫描器是用于侦察和识别网络系统漏洞的工具。 它们可以帮助网络管理员识别安全漏洞&#xff0c;也可能被攻击者用来寻找攻击目标。 扫描器的基本概念 定义&#xff1a;扫描器是一种自动化工具&#xff0c;用于探测网络和服务器中的漏洞、开放端口、…

MATLAB R2023b for Mac 中文

MATLAB R2023b 是 MathWorks 发布的最新版本的 MATLAB&#xff0c;适用于进行算法开发、数据可视化、数据分析以及数值计算等任务的工程师和科学家。它包含了一系列新增功能和改进&#xff0c;如改进了数据导入工具&#xff0c;增加了对数据帧和表格对象的支持&#xff0c;增强…

哪些软件有风景素材视频无水印?这些软件不可错过

哪些软件有风景素材视频无水印&#xff1f;如果你是一名摄影师、视频制作者或者只是喜欢欣赏美丽的风景&#xff0c;那么你一定不能错过本文介绍的这几款软件。这些软件以其丰富的风景素材视频资源&#xff0c;成为无数创作者和爱好者的首选。 1. 清爽视频编辑 清爽视频编辑器…