Win11开发环境设置(2024版)

Author: ChrisZZ imzhuo@foxmail.com
Last Update: 2024.05.29 00:43:00

1. 目的

Win11 可以使用 WSL2 里的 ubuntu,某种程度上相当于双系统:

  • 相比于 ubuntu 系统 + 安装虚拟机windows/远程连接windows要更轻量
  • WSL2 的磁盘和 Windows 是共享访问的,有时候C/C++工程要跨平台编译,可以原地编译,而不是 “拷贝->编译->回来改” 等折腾方式
  • WSL2 里的 ubuntu 22.04 可以用图形界面, 例如 cv::imshow() 能在 windows 上显示
  • WSL2 里的 ubuntu 里的 docker, 相比使用 Windows 的 docker 更简单方便

2. 制作启动镜像

下载 Win11 镜像文件最新版

例如

Win11_23H2_Chinese_Simplified_x64v2.iso 。

下载系统烧录工具

例如

rufus.exe。

烧录 Win11 镜像到U盘

需要U盘容量大于8G且内容为空(否则覆盖了)。

例如

拷贝 Win11_23H2_Chinese_Simplified_x64v2.iso 和 rufus.exe 到 Win10 上
这个 Win10 是我先前用另一个 U盘安装的,尝试升级到Win11但由于激活始终失败导致升级失败
双击 rufus.exe ,选择 .iso, 选择 U盘, 烧录

3. 从U盘安装 Win11

重启电脑,从U盘启动。

例如

联想笔记本电脑, 开机后按F2进入 BIOS/UEFI 界面, 把U盘启动挪到第一个
点击右上角退出,选择“保存并退出”
等待自动重启并自动选择U盘进行启动

选择系统安装到的驱动器

例如

我选择全新安装,删除了原有所有磁盘
整个磁盘只有一块C盘,选它

设置预期的用户名

建议断网方式设定。

例如

安装程序提示网络连接时,按 Shift + F10 调出 cmd 窗口
输入 oobe\bypassnro 跳过联网
会自动重启并重新提示 “选择语言” 等选项,然后提示输入用户名
输入预期的名字, 建议是英文或带有数字,不要带中文

如果选择了联网,会提示使用微软账号登录,会创建微软账号邮箱前5个字母作为用户名,如 C:/Users/zchri。这个英文名字很难改为预期的名字,通常以重新安装系统、断网设置为最终解决方案。

4. 系统安装后的基本设置

安装无线网卡驱动

从另一台电脑,下载驱动人生万能网卡版, 如 DriveTheLife_2095_netcard_8_16_37_92 。

U盘拷贝到当前电脑,安装。

显示文件后缀和隐藏文件

安装基本开发工具

配置使用 winget

尝试使用 Winget 安装一些软件.

安装 winget: 通过 Windows Store(需要登录微软账号),或者从 github release 页面 下载 mixbundle 文件,如 Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle, 点击安装。

安装后如下框框直接忽略,它意思是已经安装了

运行 winget 命令,如果提示:

则需要把 %LOCALAPPDATA%\Microsoft\WindowsApps 加入 PATH 环境变量.

换源 (ref: https://blog.csdn.net/co1590/article/details/138296350)

winget source remove winget
winget source add winget https://mirrors.ustc.edu.cn/winget-source

查询软件:

安装软件: 按照查询结果中的 ID 列做安装

{{uploading-image-895456.png(uploading...)}}

winget install Kitware.CMake
winget install Neovim.Neovim
winget install Ninja-build.Ninja
winget install DimitriVanHeesch.Doxygen
winget install Notepad++.Notepad++

winget install --id SomePythonThings.WingetUIStore --rainbow

ref:

github ssh key 配置

用于克隆私有仓库。

https://docs.github.com/zh/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account

6. 常用快捷键

  • Win-x, I 打开一个新的终端
  • Win-x, A 打开一个新的管理员终端

7. 安装配置 WSL2

安装 WSL2

https://learn.microsoft.com/zh-cn/windows/wsl/install

管理员权限打开 powershell:

wsl --install

8. 卸载 onedrive

https://support.microsoft.com/zh-cn/office/关闭-禁用或卸载-onedrive-f32a17ce-3336-40fe-9c38-6efb09f944b0

9. 命令行输入Python弹出Windows Store?

原因是 %LOCALAPPDATA%\Microsoft\WindowsApps 路径出现在了 python.exe 的路径之前。

解决方法是调换顺序, 确保 python.exe 所在路径在 PATH 中先出现。

Windows 的 PATH, 包括系统 PATH 和用户 PATH两个, 系统PATH先被使用,用户PATH后被使用。我现在都放到用户PATH里,按如下顺序,输入python时会使用python.exe:

10. 开启 PowerShell 执行 .ps1 脚本的权限

有不止一个 PowerShell。 需要分配添加权限 ( about_Execution_Policies
)

以管理员权限打开 PowerShell, 执行:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

以管理员权限打开 "Developer PowerShell for VS 2022", 执行:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

11. Visual Studio 操作 CMake 工程

11.1 打开基于 CMake 构建的工程

先确保工程根目录有 CMakeLists.txt 文件。

然后用 VS2022 打开这个目录。

11.2 设置运行/调试参数

msbuild 构建的工程,可以右键工程属性进行设定。

cmake 构建的工程,底层是用 ninja 作为生成器, 不生成 .vcxproj 文件。 需要在 .json 文件里设定。 进入 .json 文件的方式,是在 CMake 视图下, 右键:

增加 "args": [] 字段,填入参数

{
  "version": "0.2.1",
  "defaults": {},
  "configurations": [
    {
      "type": "default",
      "project": "CMakeLists.txt",
      "projectTarget": "Tutorial.exe",
      "name": "Tutorial.exe",
      "args": [49]
    }
  ]
}

11.3 切换 MD/MT

TODO

posted @ 2024-05-26 12:52  ChrisZZ  阅读(305)  评论(0编辑  收藏  举报