当前位置: 首页 > 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…...

Jetson AGX Orin到手后,第一件事不是装CUDA,而是先搞定这个源(附nvidia-l4t-apt-source.list配置)

Jetson AGX Orin开发板开箱必做&#xff1a;正确配置软件源的深度指南 当你第一次拿到Jetson AGX Orin这款强大的边缘计算设备时&#xff0c;兴奋之余可能会迫不及待地想要安装CUDA、cuDNN等AI开发环境。但很多开发者都会在这里踩到一个"坑"——直接运行sudo apt ins…...

告别手动标注!用TableBank数据集+Detectron2,快速搞定表格检测模型训练

零基础实战&#xff1a;基于TableBank与Detectron2的工业级表格检测方案 在金融报表解析、医疗档案数字化等场景中&#xff0c;表格检测作为文档智能处理的第一道关卡&#xff0c;其准确性直接影响后续信息提取的成败。传统人工标注数据的方式不仅成本高昂&#xff0c;更面临版…...

AbMole丨CL 316243:β3-肾上腺素受体激动剂,在代谢调控与能量消耗研究中的应用

CL 316243是一种高选择性的β3-肾上腺素受体&#xff08;β3-AR&#xff09;激动剂&#xff0c;其对β3-AR的选择性远高于β1-AR和β2-AR[1]。CL 316243&#xff08;CAS No.&#xff1a;138908-40-4&#xff09;通过激活β3-AR&#xff0c;刺激腺苷酸环化酶&#xff08;AC&…...

PADS VX2.4 封装制作避坑指南:从0402电阻封装实战说清Layer_25和阻焊层

PADS VX2.4 封装制作避坑指南&#xff1a;从0402电阻封装实战说清Layer_25和阻焊层 在PCB设计领域&#xff0c;封装制作看似基础却暗藏玄机。许多工程师在原理图设计阶段游刃有余&#xff0c;却在封装制作环节频频踩坑&#xff0c;导致后期生产出现焊接不良、丝印覆盖焊盘等问题…...

ElevenLabs声音库资源推荐,从免费层到企业级Tier 4权限全解锁:含3个已下架但仍在灰度测试的传奇音色

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs声音库资源推荐 ElevenLabs 提供了业界领先的高质量语音合成服务&#xff0c;其声音库涵盖多语种、多风格及可定制化角色音色。官方声音库分为三类&#xff1a;预置语音&#xff08;Prebuilt…...

智能休息提醒扩展:基于上下文感知的开发者健康管理工具

1. 项目概述&#xff1a;一个为开发者设计的“代码暂停”利器如果你和我一样&#xff0c;每天大部分时间都泡在代码编辑器里&#xff0c;那你肯定经历过这样的时刻&#xff1a;盯着一段复杂的逻辑或者一个棘手的Bug&#xff0c;大脑高速运转了半小时&#xff0c;却感觉毫无进展…...

FUnIE-GAN水下图像增强技术:解决水下视觉挑战的深度学习方案

FUnIE-GAN水下图像增强技术&#xff1a;解决水下视觉挑战的深度学习方案 【免费下载链接】FUnIE-GAN Fast underwater image enhancement for Improved Visual Perception. #TensorFlow #PyTorch #RAL2020 项目地址: https://gitcode.com/gh_mirrors/fu/FUnIE-GAN 水下图…...

别再折腾LibreOffice了!CentOS 7.9上老牌Apache OpenOffice 4.1.14的完整部署与后台服务化指南

在CentOS 7.9上部署Apache OpenOffice 4.1.14作为无头文档处理服务的完整指南 对于需要在Linux服务器上搭建稳定文档处理服务的运维和开发人员来说&#xff0c;Apache OpenOffice仍然是一个值得考虑的选择。尽管LibreOffice在功能和社区支持上更为活跃&#xff0c;但在某些特定…...

AppleRa1n终极指南:3步免费绕过iOS 15-16激活锁限制

AppleRa1n终极指南&#xff1a;3步免费绕过iOS 15-16激活锁限制 【免费下载链接】applera1n icloud bypass for ios 15-16 项目地址: https://gitcode.com/gh_mirrors/ap/applera1n 你是否正为忘记Apple ID密码而无法使用自己的iPhone而烦恼&#xff1f;或者购买的二手苹…...

终极指南:如何利用Awesome Public Datasets构建专业级数据科学项目

终极指南&#xff1a;如何利用Awesome Public Datasets构建专业级数据科学项目 【免费下载链接】awesome-public-datasets A topic-centric list of HQ open datasets. 项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-public-datasets 在当今数据驱动的时代…...