控制面板 -> 程序和功能, 将 适用于 Linux 的 Windows 子系统 勾选。
在 Microsoft Store 市场上搜索 Terminal
安装 Windows Terminal
。
sudo apt update # 更新软件包
sudo apt install build-essential
sudo apt install gdb # GDB 调试器
sudo apt install cmake
sudo apt install ninja-build # 构建加速、自动化构建
等待安装完成,之后查看安装结果
cmake --version
gcc -v
g++ -v
ninja --version
从 GitHub 存储库下载 vcpkg:
# wget: 一个用于从网络上下载文件的命令行工具
# -O vcpkg.tar.gz: 表示将下载的文件保存为 vcpkg.tar.gz,其中 -O 参数指定保存的文件名
wget -O vcpkg.tar.gz https://github.com/microsoft/vcpkg/archive/master.tar.gz
创建一个新目录来存储 vcpkg 并将 tar.gz 文件解压缩到其中:
sudo mkdir /opt/vcpkg
sudo tar xf vcpkg.tar.gz --strip-components=1 -C /opt/vcpkg
# --strip-components=1:该选项指定解压缩时去除文件路径中的第一个组件,如去除"vcpkg-master"
运行以下命令来构建 vcpkg 本身:
sudo apt-get install curl zip unzip tar
sudo /opt/vcpkg/bootstrap-vcpkg.sh
在 /usr/local/bin 目录中,可创建一个指向 vcpkg 命令的符号链接:
sudo ln -s /opt/vcpkg/vcpkg /usr/local/bin/vcpkg
现在 vcpkg 可以用作所有用户的系统范围命令。可使用以下命令检查 vcpkg 版本:
vcpkg version
tar.gz 不再需要该文件,将其删除:
rm -rf vcpkg.tar.gz
可使用 vcpkg install 命令来构建和安装库。例如,以下命令安装 zlib / tbb 库。但可能还需要安装其他的包,可以从错误信息中找到。
sudo apt-get install pkg-config
sudo vcpkg install tbb:x64-linux
运行以下命令以获取已安装库的列表:
sudo vcpkg list
如果想彻底删除 vcpkg,删除安装目录:
sudo rm -rf /opt/vcpkg
删除符号链接:
sudo rm -rf /usr/local/bin/vcpkg
删除 vcpkg 缓存和相关目录:
sudo rm -rf /root/.cache/vcpkg
sudo rm -rf /root/.vcpkg
rm -rf ~/.vcpkg
在项目根目录下新建.vscode
文件夹,在其下新建 setting.json 文件,将如下内容拷贝进去:
"C_Cpp.default.configurationProvider": "ms-vscode.cmake-tools",
"cmake.configureSettings": {
"CMAKE_TOOLCHAIN_FILE": "/opt/vcpkg/scripts/buildsystems/vcpkg.cmake"
},
"cmake.buildDirectory": "${workspaceFolder}/build",
"C_Cpp.errorSquiggles": "enabled",
项目根目录下新建 CMakeLists.txt 文件:
cmake_minimum_required(VERSION 3.11)
project(BlinkHash)
set(CMAKE_CXX_STANDARD 17)
# 寻找TBB库
find_package(TBB CONFIG REQUIRED)
# include_directories(${PROJECT_SOURCE_DIR}/lib)
# 添加可执行文件
file(GLOB SRC_LIST "${CMAKE_CURRENT_SOURCE_DIR}/test/*.cpp")
add_executable(app ${SRC_LIST})
target_link_libraries(app PRIVATE TBB::tbb TBB::tbbmalloc)
查看系统版本:
wsl -l -v
关闭系统:
wsl --shutdown
迁移系统:
wsl --export Ubuntu E:\EnvironmentSetting\CPP\UbuntuWSL\Ubuntu.tar
迁移后注销原系统:
wsl --unregister Ubuntu
# 查看是否真的注销成功
wsl -l -v
导入系统:
wsl --import <导入的Linux名称> <导入盘的路径>
--version 2 (代表wsl2)
wsl --import Ubuntu E:\EnvironmentSetting\CPP\UbuntuWSL\ E:\EnvironmentSetting\CPP\UbuntuWSL\Ubuntu.tar --version 2
修改默认用户:打开 wsl ubuntu 之后,默认以 root 身份登录。
ubuntu.exe config --default-user flyboy
先使用命令行来检查 wsl 状态,若为 running
需关闭它。
wsl --list --verbose
wsl --shutdown
diskpart
压缩 wsl 虚拟磁盘在命令行启动 diskpart
工具:
diskpart
确定虚拟磁盘文件的位置,用 diskpart
选择这个文件:
select vdisk file="{vhdx文件名}"
select vdisk file="E:\EnvironmentSetting\CPP\UbuntuWSL\ext4.vhdx"
# DiskPart 已成功选择虚拟磁盘文件。
再执行压缩命令:
detach vdisk
attach vdisk readonly // "所请求的操作需要以只读方式" 请执行这一步
compact vdisk
exit
注意:在执行任何磁盘操作之前,最好备份重要数据并谨慎操作,以免造成数据丢失或其他意外情况。