官网环境配置参考:lab0
本文采取 Win10 + wsl2(Ubuntu 22.04) 进行环境配置
1 wsl2安装Ubuntu22.04
wsl2的安装参考 微软官方文档
1.1 启用Linux子系统功能
系统搜索启用或关闭Windows功能,如下图开启功能
1.2 BIOS开启CPU虚拟化功能
不同的主板厂商BIOS界面设置不同,大体上的位置可参考下图 ![](/i/l/?n=23&i=blog/3166095/202308/3166095-20230810171908673-376811973.png)
1.3 安装wsl2
最好以管理员模式打开powershell,输入如下命令进行安装
wsl -l -o
# 改命令会搜索可在线安装的发行版
默认安装Ubuntu22.04
wsl --install
或安装指定版本
wsl --install -d Ubuntu-22.04
如果使用了Windows Terminal,其选项卡中会自动添加安装的Linux发行版
也可以使用powershell进入虚拟机:
wsl -d Ubuntu
1.4 Ubuntu换源
sudo vim /etc/apt/sources.list
将其替换为如下内容
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
然后更新源
sudo apt-get update
2 bustub仓库配置
2.1 按照官网说明进行仓库克隆
# 克隆公共仓库
git clone --bare https://github.com/cmu-db/bustub.git bustub-public
cd bustub-public
# 上传到自己新创建的私有仓库
git push https://github.com/student/bustub-private.git master
# 删除公共存储库的本地克隆
cd ..
rm -rf bustub-public
# 克隆自己的私有仓库
git clone https://github.com/student/bustub-private.git
2.2 版本回溯
由于GitHub的仓库后续在不断更新,我们需要找到2023 spring开课前的最后一次提交,操作如下
# 找到2023 spring开课前的最后一次提交
git checkout 9dd2cf60e6433d65e7350e65e56bc760b09a1045
# 新建一个开发分支
git checkout -b new-branch-name
然后就可以在新建的分支上写lab啦!
3 工具链配置
3.1 工具链配置
工具链不需要自己手动配置,官方已经提供了配置脚本:
sudo build_support/packages.sh
如果按照之前操作进行了换源,工具链配置速度应该很快
3.2 项目编译
编译项目
mkdir build
cd build
cmake ..
make
3.3 测试
编译测试样例
make check-tests
此时由于我们还没有做完4个lab,测试样例应该只会通过60多个,看到一堆红字报错暂时不用担心
4 Clion配置
Clion对支持ws2支持虽然比不上原生的VSCode,但实际体验上,VScode在本项目的规模上,代码补全和推导的能力明显不足,所以选择Clion进行开发
Clio的安装和激活可自行百度,这里主要讲Clion对wsl2的连接。
Clion对wsl2有2中方式,其一是像打开普通项目文件一样直接打开项目目录:
另一种是使用host连接的方式打开项目,这种方式是在wsl2虚拟机中又安装了一个ide,因此对于系统路径的支持更好:
选择wsl
选择安装的发行版
选择路径
打开项目后基本上能成功,不过第二种方式只有比较新的Clion支持,而且bug还不少,如果实际测试不稳定的话建议使用第一种方式。
标签:15445,mirrors,jammy,Lab,tsinghua,https,edu,CMU,multiverse From: https://www.cnblogs.com/toniXWD/p/17620929.html