当前位置: 首页 > news >正文

win11+wsl+git+cmake+x86gcc+armgcc+clangformat+vscode环境安装

一、安装wsl

(1)打开power shell 并运行:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

 (2)

(3)

 wsl --update

wsl --set-default-version 2

 (4)到旧版 WSL 的手动安装步骤 | Microsoft Learn

下载一个版本 ,这里以Ubuntu.22.04为例。

(5)解压,双击Ubuntu_2204.1.7.0_x64.appx直接安装,在安装过程中会提示创建一个用户,按提示操作即可。

(6)安装完成后,执行wsl -l -v可以看到。之后在PowerShell中执行wsl可以启动ubuntu了,或者通过开始菜单也可以直接启动。

备注:还有一种在线安装的方法

wsl -l -o  # wsl --list --online

查看有哪些系统可安装

wsl --install -d Ubuntu-22.04

但是,这种方法受限于‘墙’,下载总失败。 

 

 二、安装git

进入wsl

sudo apt-get install git

git config --global user.name "yourname"

git config --global user.email "youremail"

ssh-keygen -t rsa -C "youremail",一路回车。

cat  ~/.ssh/id_rsa.pub,复制其中全部内容,登录到git仓库上

三、安装cmake

(1)选择一个版本下载

Index of /files

以cmake-3.25.3-linux-x86_64.tar.gz为例。

(2)解压,以到/usr/local目录下为例。

(3)vim ~/.bashrc,增加上export PATH="/usr/local/cmake-3.25.3-linux-x86_64/bin:$PATH"

四、安装x86gcc

(1)sudo apt-get install build-essential

(2)sudo apt-get install gdb

五、安装armgcc

解压你的交叉编译工具链至某目录即可,以/opt为例。

六、安装clang-format

查看一下适用的版本

sudo apt search clang-format

选择一个版本安装

sudo apt install clang-format-15

建立软链接

sudo link /usr/bin/clang-format-15 /usr/bin/clang-format

七、安装vscode

Windows下载安装vscode即可。

八、用vscode打开wsl里面的c++工程

备注:第一次打开的时候vscode需要下载wslserver,时间比较长,耐心等待。

给vscode安装CMake插件、C++插件、Clang-format插件

注意,这些扩展都是安装在wsl中的。

修改两处配置

 

然后在工程的根目录下放上.clang-format文件就可以了。

九、x86编译

备注:这里有个前提就是,工程的CMakeLists.txt文件已建好

即可生成makefile。之后直接在vscode中编译就行了。

十、arm编译

(1)建立一个cmake文件,以test.cmake名字为例,内容

(2)登录到Ubuntu中执行

cmake --toolchain  test.cmake

(3)vscode中(Ctrl+Shift+P)并运行CMake: edit User-Local CMake Kits命令。打开cmake-tools-kits.json文件,如果弹不出来,则也可以手工打开:

在中括号最后加上 

  {

    "name": "起个名",

    "toolchainFile": "xx/xx/xx/test.cmake"

  }

重启vscode再次打开工程,就可以看到交叉编译链了

 选用这个工具包之后,就可以在vscode中直接交叉编译了。

相关文章:

win11+wsl+git+cmake+x86gcc+armgcc+clangformat+vscode环境安装

一、安装wsl (1)打开power shell 并运行: Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform (2&#xff0…...

HDLBits-Edgedetect

刚开始写的代码如下&#xff1a; module top_module (input clk,input [7:0] in,output [7:0] pedge );reg [7:0] in_pre;always (posedge clk)begin in_pre < in;endassign pedge in & ~in_pre; endmodule但是提交结果是错误的。猜想原因如下&#xff1a; assign p…...

云计算与大数据——部署Hadoop集群并运行MapReduce集群(超级详细!)

云计算与大数据——部署Hadoop集群并运行MapReduce集群(超级详细&#xff01;) Linux搭建Hadoop集群(CentOS7hadoop3.2.0JDK1.8Mapreduce完全分布式集群) 本文章所用到的版本号&#xff1a; CentOS7 Hadoop3.2.0 JDK1.8 基本概念及重要性 很多小伙伴部署集群用hadoop用mapr…...

基于jenkins+k8s实现devops

1、背景 由于jenkins运行在k8s上能够更好的利用动态agent进行构建。所以写了个部署教程&#xff0c;亲测无坑 2、部署 1、创建ns kubectl create namespace devops 2、kubectl apply -f jenkins.yml apiVersion: v1 kind: ServiceAccount metadata:name: jenkinsnamespace…...

一文了解企业如何实现文件自动化实时同步

在当今的数字化时代&#xff0c;数据是企业的核心资产&#xff0c;也是企业竞争力的重要体现。数据的传输、共享、协作、备份等都需要依赖文件同步技术&#xff0c;实现数据在不同平台和设备之间的一致性和可用性。文件同步是指将一个或多个文件夹中的内容复制或更新到另一个或…...

低代码系统哪里好

低代码作为近些年来被热议的话题&#xff0c;一直备受争议。低代码的出现更多的是用来辅助那些没有太多技能的人士而使用&#xff0c;在某些方面依然需要强大的代码来解决生产革新。所以低代码也不是浑水猛兽&#xff0c;也需要根据实际情况加以利用。那么为什么低代码会收到如…...

C#WPF通知更改公共类使用实例

本文实例演示C#WPF通知更改公共类使用实例,通过使用公共类简化了代码。其中的代码中也实现了命令的用法。 定义: INotifyPropertyChanged 接口:用于向客户端(通常是执行绑定的客户端)发出某一属性值已更改的通知。 首先创建WPF项目,添加按钮和文本控件 <Window x:C…...

解决高并发问题

在处理项目中的高并发问题时&#xff0c;可以采取以下几种方法&#xff1a; 后端处理&#xff1a;大部分的高并发处理是在后端进行的。可以通过优化数据库查询、增加缓存机制&#xff08;如集成Redis&#xff09;、使用分布式技术&#xff08;如分布式缓存、分布式锁&#xff…...

B+树的定义以及查找

1.B树的定义 一棵m阶的B树需满足下列条件: 每个分支结点最多有m棵子树(孩子结点)。非叶根结点至少有两棵子树&#xff0c;其他每个分支结点至少有「m/2]棵子树。结点的子树个数与关键字个数相等。所有叶结点包含全部关键字及指向相应记录的指针&#xff0c;叶结点中将关键字按…...

InputAction的使用

感觉Unity中InputAction的使用&#xff0c;步步都是坑。 需求点介绍 当用户长按0.5s 键盘X或者VR left controller primaryButton (即X键)时&#xff0c;显示下一个图片。 步骤总览 创建InputAction资产将该InputAction资产绑定到某个GameObject上在对应的script中&#xf…...

Bug排查思路

遇到一个Bug&#xff0c;怎么排查&#xff1f;以下几个思路&#xff0c;希望能对大家有所启发 一、环境问题 1、开发的代码是否已更新 2、是否是缓存原因导致的&#xff08;强刷&#xff0c;手动清除缓存&#xff0c;web甚至可以直接用无恒模式查看页面&#xff09; 3、是否…...

独立站引流,如何在Reddit进行营销推广?

Reddit是目前最被忽视却最具潜力的社交媒体营销平台之一&#xff0c;它相当于国内的百度贴吧&#xff0c;是美国最大的论坛&#xff0c;也是美国第五大网站&#xff0c;流量仅次于Google、Youtube、Facebook以及亚马逊。 如果会玩&#xff0c;Reddit也可以跟其他的社交媒体营销…...

文件拖拽上传功能已经烂大街了,你还不会吗?

说在前面 &#x1f5bc;文件拖拽上传功能现在已经随处可见&#xff0c;大家应该都用过了吧&#xff0c;那么它具体是怎么实现的大家有去了解过吗&#xff1f;今天我们一起来实现一下这个功能&#xff0c;并封装一个拖拽上传组件吧。 效果展示 体验地址&#xff1a;http://jyeon…...

TCP与UDP协议详解!!!

TCP/IP运输层中的两个重要协议 TCP的报文结构 TCP的流量控制 流量控制&#xff1a;让发送方发送速率不要太快&#xff0c;TCP协议使用滑动窗口实现流量控制。 利用滑动窗口机制可以很方便地在TCP连接上实现对发送方的流量控制。 TCP接收方利用自己的接收窗口的大小来限制发送…...

《C++ primer》练习6.36-6.38:书写返回数组引用的函数声明

最近看C primer&#xff0c;看到《C primer》6.3.3练习&#xff0c;要求书写返回数组引用的函数声明&#xff0c;觉得有必要实践记录一下。 这里先总结返回数组的引用的的函数声明写法&#xff08;下面的Type是数组元素的类型&#xff0c;可以是int、float等&#xff0c;如果要…...

Spring Cloud Gateway快速入门(三)——过滤器

文章目录 前言Gateway内置网关过滤器什么是网关过滤器Gateway内置网关过滤器GlobalFilterPreFilterPostFilter 使用示例 Gateway全局网关过滤器什么是全局网关过滤器使用全局网关过滤器注册全局网关过滤器使用全局网关过滤器 全局网关过滤器和Gateway内置网关过滤器的区别1. 注…...

vue3相比vue2的优点

一、响应式&#xff1a; &#xff08;1&#xff09;vue2&#xff1a;内置的Object.defineProperty将data中的数据转化成响应式数据的&#xff0c;它会将data中的每个属性都转换为具有getter和setter的响应式属性 Object.defineProperty是一个内置的方法&#xff0c;它用于定义…...

gitee-快速设置

快速设置— 如果你知道该怎么操作&#xff0c;直接使用下面的地址 HTTPS SSH: gitgitee.com:liuzl33078235/esp-idf.git 我们强烈建议所有的git仓库都有一个README, LICENSE, .gitignore文件 初始化 readme 文件 Git入门&#xff1f;查看 帮助 , Visual Studio / TortoiseG…...

将切分的图片筛选出有缺陷的

将切分的图片筛选出有缺陷的 需求代码 需求 由于之前切分的图像有一些存在没有缺陷&#xff0c;需要再次筛选 将可视化的图像更改后缀 更改为xml的 可视化代码 可视化后只有7000多个图像 原本的图像有1W多张 代码 # 按照xml文件删除对应的图片 # coding: utf-8 from P…...

el-tooltip内容换行显示

效果图&#xff1a; html: <div class"rules-tooltip flex-center"><el-tooltip class"item" effect"dark" placement"bottom-start"><div slot"content" v-html"tipsContent"></div>&l…...

OpenClaw模型微调:基于nanobot镜像的Qwen3-4B定制

OpenClaw模型微调&#xff1a;基于nanobot镜像的Qwen3-4B定制 1. 为什么需要定制化OpenClaw模型 去年夏天&#xff0c;当我第一次尝试用OpenClaw自动处理团队周报时&#xff0c;发现通用模型对"技术复盘"这类专业内容的处理总差那么点意思。它会机械地罗列Git提交记…...

乙巳马年·皇城大门春联生成终端W与低代码平台集成:在Dify中快速创建AI应用

乙巳马年皇城大门春联生成终端W与低代码平台集成&#xff1a;在Dify中快速创建AI应用 又到了岁末年初&#xff0c;很多朋友、商家甚至社区都在为准备春联发愁。传统方式要么自己写&#xff0c;要么找人设计&#xff0c;费时费力不说&#xff0c;风格还未必满意。现在&#xff…...

基于DWS构建RAG框架生成行业调研报告

1. 前言 适用版本&#xff1a;【DWS 9.1.1.200&#xff08;及以上&#xff09;】 在信息爆炸的时代&#xff0c;行业调研报告的生成正面临数据规模庞大、信息碎片化、人工处理效率低等多重挑战。检索增强生成&#xff08;RAG, Retrieval-Augmented Generation&#xff09;作为…...

Claude Code架构深度解析:从核心文件到Harness的确定性控制体系

前言 Claude Code凭借强大的代码理解、编辑与执行能力&#xff0c;成为AI研发工程师的高效工具&#xff0c;但多数使用者仅停留在功能调用层面&#xff0c;对其底层架构尤其是核心控制层Harness知之甚少。作为Claude Code架构师&#xff0c;本文将从项目架构视角&#xff0c;拆…...

在Windows上无缝安装Android应用:APK Installer的完整指南与深度解析

在Windows上无缝安装Android应用&#xff1a;APK Installer的完整指南与深度解析 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 在Windows系统上直接安装Android应用曾…...

OpenClaw团队协作版:ollama-QwQ-32B支持多人任务队列的改造

OpenClaw团队协作版&#xff1a;ollama-QwQ-32B支持多人任务队列的改造 1. 为什么我们需要团队协作版的OpenClaw 上周我们小组遇到了一个典型问题&#xff1a;三个人同时使用同一台机器上的OpenClaw实例时&#xff0c;任务开始互相干扰。最严重的一次&#xff0c;A同事的自动…...

springboot-vue+nodejs的宠物医院电子病历管理系统的设计与实现

目录技术栈选择系统模块划分开发阶段规划关键实现细节部署方案测试与优化项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作技术栈选择 后端采用Spring Boot框架&#xff0c;提供RESTful API接口&#xff0c;处理业务逻辑和数据持…...

Cadence Virtuoso新手避坑:DC和Tran仿真到底该用哪个?附inv反相器实例

Cadence Virtuoso仿真实战&#xff1a;DC与Tran仿真的本质差异与工程选择指南 在集成电路设计的入门阶段&#xff0c;许多工程师都会对仿真类型的选择感到困惑。就像我第一次使用Cadence Virtuoso时&#xff0c;面对DC和Tran这两个基础仿真选项&#xff0c;完全不知道从何下手。…...

实战解析:Element UI在Vue项目中的高效开发技巧

1. 为什么选择Element UI开发Vue项目 Element UI作为Vue生态中最受欢迎的UI组件库之一&#xff0c;在中后台管理系统开发中占据着不可替代的地位。我最早接触Element UI是在2018年开发一个电商后台系统时&#xff0c;当时对比了多个UI框架后&#xff0c;最终选择它的原因很简单…...

颠覆传统体验!5步打造完美魔兽争霸3环境:WarcraftHelper全方位优化指南

颠覆传统体验&#xff01;5步打造完美魔兽争霸3环境&#xff1a;WarcraftHelper全方位优化指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 经典游…...