admin管理员组文章数量:1536684
Windows开发环境搭建
本文以Windows10为例,Windows11也可以,目前都在用
搭建开发环境主要是c++,python,目前不涉及其他的
不使用IDE,vscode YYDS
前言
工欲善其事,必先利其器。
不论是学习、工作、换电脑、换工作,都需要重新把新的一台机器变为能够开发代码的状态,而环境的好坏,极大影响着开发效率的高低。
1. x86架构,intel/amd CPU,Windows系统
提这个主要是为了明确指令集、cpu、os
的层级关系,也就是指令集和cpu都是硬件决定的,x86架构不可能运行arm架构的程序
- 如果编译出arm架构的文件,只能连一个手机,使用adb shell运行程序
- 如果使用了intel的SSE、AVX指令集,或者,amd的AMD-V、XOP指令集,那么就只能在自家cpu上运行
- 如果编译的文件格式为Windows的,也就是exe或者dll,那么就不能在linux的系统中使用,反之亦然。也许这个是最受关注的一个点,也就是操作系统
1.1 Linux:WSL
wsl实现了在Windows上运行linux操作系统的开发需求,用过的人都说好
wsl分为1和2,2更好,可以在Windows终端下使用命令安装,常见的终端就是cmd和powershell,win11自带了终端管理工具,win10也可以自己在商店安装,https://learn.microsoft/zh-cn/windows/terminal/,工具会将此时电脑上所有的终端程序,包括以前安装VS studio或者其他软件时自带的终端都整合在一起,清晰明了
- 区分概念:shell和终端
- shell是软件语言,命令行解释器(例如bash、sh等)
- 终端是应用程序
官网教程:https://learn.microsoft/zh-cn/windows/wsl/install,如果不想登录微软账号在商店下载,也可以直接在教程下面的链接下载,手动安装
有了wsl,就不需要在像10年前使用虚拟机或者双系统了
1.2 Android:WSA
已经不维护了,预计25年3月彻底不支持
虽然提到安卓开发需求时,大多数人第一反应是java,但是c++在开发中充当了更底层的库,所以java只是作为安卓应用开发的语言,安卓底层也都是用c++写的
我们编译可执行文件与库的时候,要想在安卓平台运行,那么就需要一个真实的arm cpu作为后端,个人建议使用一个手机,最好是root的
软件的话,建议安装:
- adb:用来连接手机
- Android studio:不写java的话,也就是用来拖拽文件方便(SDK包含了NDK)
- NDK:编译Android平台需要使用对应的工具链
- Anlink:可视化界面
- scrcpy:非常推荐,GitHub 99k star,我爱开源
2. vscode
虽然IDE强大,但是不利于学习整个软件构建的一些过程,比如VS studio里面创建一个c++项目,点击一个按钮,直接就可以输出运行结果,自己什么都不做,完全看不到里面的过程,个人不太喜欢
2.1 设置终端
这里有一个据说非常强的shell,叫做zsh(github一个项目168k star),https://github/ohmyzsh/ohmyzsh/,有机会试一下
vscode原本打开的话,好像默认是Windows的cmd命令行,推荐修改为powershell,后面使用conda的话很方便
2.2 连接本地wsl
下载插件WSL,像连接你的服务器一样连接本地的linux机器
2.3 连接服务器
下载插件Remote - SSH,连接远程机器,这里可以配置一下ssh,就不需要每次都输入密码了,具体的步骤其实很简单:
- 本地安装ssh(一般都是安装了的)
- 执行命令:
ssh-keygen
# 建议直接cat本地的id_rsa.pub,然后复制内容,到服务器的~/.ssh/authorized_keys中新增一行
# 客户端
cat ~\.ssh\id_rsa.pub
# 服务端
vim ~/.ssh/authorized_keys
这里公钥的最后一行其实带有了一些信息,比如可以看到当前服务器允许了哪些终端进行免密链接,最后的内容一般是用户名+主机名
- 如果远程机器上没有
authorized_keys
,就创建一个(vim或者touch)
2.4 好用的插件
- Remote Development
https://marketplace.visualstudio/items?itemName=ms-vscode-remote.vscode-remote-extensionpack
包含了4个其他插件的集合
- git相关
3. C++相关
可以直接安装C/C++ Extension Pack
,包含了4个常用的c++拓展
3. Windows的软件:类Unix环境 or 包管理软件
需要先提到一个问题,就是上述那么多的shell、终端软件,但是Windows连个.sh
结尾的文件都无法运行
为了在Windows下运行.sh
文件,需要安装一个类似于linux终端的程序,最明显的就是我们下载git后,git自带的shell,git bash,就可以像在linux下一样,运行bash xx.sh
这样的命令
- git fow windows(内置简版msys2),与git官网下载的Windows版本git完全一样
参考:https://wwwblogs/52fhy/p/15158765.html
3.1 C++开发:cmake等等
- msys2
这个我自己定义是一个Windows的包管理工具,但是一般没有在包管理工具的列表中,官网的定义是:Windows 软件分发和构建平台,个人非常推荐,拿c++来讲,Windows编译c++一般都要下载cmake、make,并且再将路径加到环境变量中;但是,使用msys2的话,只需要配置msys2本身的路径,然后在其终端中使用命令行下载gcc、g++等等工具
- 介绍msys2和其他概念的区别
- https://www.msys2/docs/what-is-msys2/
说简单些,msys2就是用来编译win平台上的程序,而WSL只能编译出linux的程序;Cygwin是一个非常全的在Windows下使用类Unix的工具,msys和MinGW都是来自于Cygwin,但是更新太少,而msys2也是来自于Cygwin,但是更好用。
使用pacman管理包,pacman是arclinux中的软件管理工具,也是widows上msys2默认的软件管理工具。pacman可以直接从网络上的软件仓库下载安装及删除软件,自动处理依赖关系,类似ubuntu中的apt-get
- git
上面已经安装好msys2后,就可以通过pacman来安装git了
3.2 python:Anaconda
安装anaconda就不需要在py官网安装一个解释器了,要不然一台电脑2个解释器,新手很容易迷惑
这个就不用包管理软件安装了,一般都是在官网下载,手动安装,虽然不方便,但是好像暂时也没有其他方法,之后装包“网不好”的话,记得修改下载源
wsl的话,Windows下载sh的后缀文件拖进去,或者直接在linux下使用wget命令下载
3.2.1 Pytorch
其实就是一个大一些的python包,pip或者conda安装,需要注意的是,CUDA这种东西最好是一并下载,否则自己手动安装还要配环境,比较麻烦
3.3 Windows包管理工具
- winget
Windows自带的,也是微软官方推荐的
- scoop:https://scoop.sh/
比较流行,定位准确
- chocolatey:https://chocolatey/
比较流行,定位准确
- msys2(pacman)*
这个用起来还是比较方便的,个人也比较推荐,使用pacman进行安装,但是不推荐安装git(速度较慢)
版权声明:本文标题:Windows开发环境搭建指南 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1726933523a1090778.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论