WSL2配置VSCODE & C++开发环境_wsl2 vscode-程序员宅基地

技术标签: c++  vscode  ide  

目录

一、wsl2的安装

二、开发套件的安装配置


一、wsl2的安装

安装方式参照微软官方文档:WSL2安装文档

这里在安装完wsl后,微软会自动安装Ubuntu20.04,开发者可根据需要安装所需Ubuntu版本,这里建议手动下载微软给定的链接进行安装。安装方式参照:手动安装Linux发行版

这里安装的时候会把Ubuntu默认安装在C盘,为了保证未来的开发不爆C盘容量,所以建议将系统迁移至其他大容量的磁盘中。以下给出迁移方式:

首先,先列出当前安装的wsl 版本:

wsl -l -v

如果当前要迁移的wsl正在运行,需要执行:

wsl --shutdown Ubuntu-18.04

以停止wsl系统的运行。

停止wsl后,在将要迁移的磁盘中创建系统备份目录,如D:\Ubuntu-18.04-BAK

然后执行下面命令到处系统备份:

wsl --export Ubuntu-18.04 D:\Ubuntu-18.04-BAK\WSL2Ubuntu-18.04.bak

导出完毕后,注销系统:

wsl --unregister Ubuntu-18.04

然后再执行导入目标目录D:\WSLUbuntu18.04:

wsl --import Ubuntu-18.04 D:\WSL2Ubuntu-18.04 D:\Ubuntu-18.04-BAK\WSL2Ubuntu-18.04.bak --version 2

迁移完毕后,即可在终端执行wsl命令进入系统,如果遇到问题,可参照:wsl迁移操作解决。

二、开发套件的安装配置

WSL安装完成后,系统不包含任何开发套件,因此需要自行配置一下套件:

  1. gcc/g++
  2. gdb
  3. clang
  4. opencv(c++编译版本 && opencv-python,opencv-contrib-python,numpy)参照:C++版本opencv的安装,如果要安装extra库,需要下载opencv-contrib,然后执行cmake -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules ..,安装Python版本的需要安装pip3工具,安装pip3 后先进行pip3 install --upgrade pip,然后依次执行pip install opencv-python       pip install opencv-contrib-python     等待安装完成
  5. cmake以上  升级参照:cmake升级
  6. ndk20  配置参照:ndk配置
  7. git
  8. vim
  9. vscode
  10. openjdk  参照:jdk安装
  11. adb  由于wsl无法直接挂在adb设备,需要使用一些特殊的办法进行挂载,目前在WSL2中可以直接执行Windows版本的adb,因此可以将window的adb进行软链接以直接执行(需要先将win版本的adb添加到环境变量),具体操作如下:
    WSL中无法挂在adb设备的解决办法,另外一种方式是微软官方的解决方案,不过有Windows系统版本要求和Linux内核版本要求,具体可参照:微软官方-连接USB设备

  

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_70343234/article/details/131496900

智能推荐

Toeplitz矩阵以及矩阵乘法FFT加速_toeplitz矩阵乘向量例子-程序员宅基地

文章浏览阅读3.9k次。Toeplitz矩阵以及矩阵乘法FFT加速1.Toeplitz矩阵托普利兹矩阵,简称为T型矩阵,它是由Bryc、Dembo、Jiang于2006年提出的。托普利兹矩阵的主对角线上的元素相等,平行于主对角线的线上的元素也相等;矩阵中的各元素关于次对角线对称,即T型矩阵为次对称矩阵。这里我们使用matlab中自带的函数生成一个toeplitz矩阵的例子:x=[1 2 3 4];y=[1 5 6 7 8 9];z=toeplitz(x,y);我们可以得到一个这样的矩阵结果:我们可以看到,其中x中_toeplitz矩阵乘向量例子

Python pandas练习Retuns50stocks股票,纯英文ipynb作业20题,100%正确答案_create a function that takes a positive integer an-程序员宅基地

文章浏览阅读848次,点赞2次,收藏3次。#%% mdAssigment 4Instructions: This problem set should be done individuallyAnswer each question in the designated space belowAfter you are done. save and upload in blackboard.Please check that you are submitting the correct file. One way to avoid mist_create a function that takes a positive integer and returns the next bigger

FDR校正的程序实现及严格程度对比_fdr校正后全没有意义-程序员宅基地

文章浏览阅读2.4w次,点赞9次,收藏44次。FDR校正的程序实现及严格程度对比前言 做统计分析就离不开P value<0.05,而写过科研文章的人也都知道没有经过FDR校正的P值就像一盘散沙,不用风吹,走两步自个儿就散了。那么FDR校正这个让人又爱又恨的东西是什么呢?又是如何实现呢? 原理是这样:设总共有m个候选基因,每个基因对应的p值从小到大排列分别是 p(1),p(2),..._fdr校正后全没有意义

淦VINS-MONO源码 01--IMU的误差模型和标定-程序员宅基地

文章浏览阅读921次。IMU的误差模型和标定工作原理加速度计工作原理陀螺仪测量原理误差来源IMU噪声模型biasscale轴偏差IMU校准确定性误差六面法标定bias和scale factor温度相关的参数标定随机误差高斯白噪声Bias 随机游走艾伦方差标定数学模型加速度计数学模型陀螺仪数学模型在看完orb-slam后,也投了一些实习,发现纯视觉的方案在很多方面都没得到采用,特别是自动驾驶中定位感知方面,基本上是雷达+IMU+相机+GPS等等的多传感器融合,所以接下来的计划会看看vins-mono和loam的源代码,一个是IM

Dotween常用方法详解-程序员宅基地

文章浏览阅读10w+次,点赞213次,收藏880次。Dotween是unity里非常常用的插件,但是很多人应该没有仔细的阅读过它的api,它实际有很多好用的方法,下面我就针对一些相对常用的方法,做下总结:一、Unity常用组件拓展方法(1) Transform拓展方法1)Position 改变世界坐标 移动方法,第一个参数是要移动到的目标点,不是移动这个向量的距离 transform.DOMov..._dotween

matlab图片纹理特征直方图,常用的图像特征有颜色特征、纹理特征、形状特征、空间关系特征。...-程序员宅基地

文章浏览阅读1k次。常用的图像特征有颜色特征、纹理特征、形状特征、空间关系特征。一 颜色特征(一)特点:颜色特征是一种全局特征,描述了图像或图像区域所对应的景物的表面性质。一般颜色特征是基于像素点的特征,此时所有属于图像或图像区域的像素都有各自的贡献。由于颜色对图像或图像区域的方向、大小等变化不敏感,所以颜色特征不能很好地捕捉图像中对象的局部特征。另外,仅使用颜色特征查询时,如果数据库很大,常会将许多不需要的图像也检...

随便推点

python中git克隆代码失败_使用Git clone代码失败的解决方法-程序员宅基地

文章浏览阅读830次。今天从GitHub上找到一份代码,想要clone到本地,便利用Git去clone代码,结果报了以下错误:error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054fatal: The remote end hung up unexpectedlyfatal: early EOFfatal: index-pa..._python无法使用clone

数字单片机的技术发展-程序员宅基地

文章浏览阅读1.8k次。数字单片机的技术发展 数字单片机的技术进步反映在内部结构、功率消耗、外部电压等级以及制造工艺上。在这几方面,较为典型地说明了数字单片机的水平。在目前,用户对单片机的需要越来越多,但是,要求也越来越高。下面分别就这四个方面说明单片机的技术进步状况。 1、 内部结构的进步 单片机在内部已集成了越来越多的部件,这些部件包括一般常用的电路,例如:定时器,比较器,A/D转换器,D

sqlite3 调用sqlite3_exec查询数据时出现"callback requested query abort"-程序员宅基地

文章浏览阅读4.9k次,点赞6次,收藏7次。不知道有没有人跟我一样,在调用sqlite3的API中sqlite3_exec()函数时出现abort问题,今天我就遇到了,如下图。函数基本原型为: int sqlite3_exec(sqlite3*,const char *sql,sqlite_callback,void *param,char **errmsg); 主要功能是用于查询数据库里的_callback requested query abort

关于ctags的安装和使用_ctags 安装-程序员宅基地

文章浏览阅读627次。1、运行下列命令,是ctags进行安装$ sudo apt-get install ctags2、安装成功后,在项目目录下,就可以了$ ctags -R3、一些细节,如果你是你只想生成php的$ ctags --languages=php -R .4、或者$ ctags -R --exclude=*.js5、无聊时,可以查看ctags都支持那些语言$ ctags --list-languages开发中如何跳转ctrl + ]跳转后如何回到开始的位置_ctags 安装

4.链表组件(LeetCode 817)_给定链表头结点 head,该链表上的每个结点都有一个唯一的整型值 。 同时给定列表 g-程序员宅基地

文章浏览阅读254次。问题描述 :给定链表头结点 head,该链表上的每个结点都有一个唯一的整型值 。同时给定列表 G,该列表是上述链表中整型值的一个子集。返回列表 G 中组件的个数,这里对组件的定义为:链表中一段极长连续结点的值(该值必须在列表 G 中)构成的集合。极长的含义是:这段连续结点的前面或后面结点不属于G。示例 1:输入:head: 0->1->2->3G = [0, 1, 3]输出: 2解释:链表中,0 和 1 是相连接的,且 G 中不包含 2,所以 [0, 1] 是 G 的一_给定链表头结点 head,该链表上的每个结点都有一个唯一的整型值 。 同时给定列表 g

使用神器MobaXterm连接远程mysql和redis-程序员宅基地

文章浏览阅读3.4k次。https://mobaxterm.mobatek.net/download-home-edition.htmlmysqlredis连接测试mysql127.0.0.13307密码使用线上密码redis127.0.0.16380密码使用线上密码转载于:https://www.cnblogs.com/cxscode/...