CMU15445(2023 Spring) lab - 环境配置

系列笔记

环境配置
Project 0. C++ Primer
Project 1. Buffer Pool
Project 2. B+Tree

前言

早就想做15445(fall 2020)的lab了,鸽到了现在,赶紧做一下,写一点自己做的时候遇到的坑什么的,记录一下。因为教授禁止上传自己的代码到public,所以本文基本不会出现作业代码内容,只是写一些做的时候遇到的事情和一些思路,做备忘用(写不写还另说呢)。
然后我其实是想做2020FALL的,后来在做P0的时候发现那个文件(src/include/primer/p0_starter.h)怎么找也找不到,一直耽误了好久,才发现github库更新成2023年的了。,。。。那就将就着做2023 Spring吧

参考链接

课程官网(2023,废)
课程官网

环境配置

先配置环境,官方建议的是使用Ubuntu(20+)、MacOS,不推荐使用WSL,不过我就要硬着头皮上(),以后出了问题再说吧。以下流程大体来自官方文档

创建一个私有库
在这里插入图片描述

git clone --bare https://github.com/cmu-db/bustub.git bustub-public
cd bustub-public
git push git@github.com:JMC2002/CMU15445.git master # 记得换成你自己的!

删除本地克隆,拉取自己的

cd ..
rm -rf bustub-public
git clone git@github.com:JMC2002/CMU15445.git # 记得换成你自己的!

在这里插入图片描述
这一步其实是用来更新官方文件的,但是这都是三年前的lab了,其实不太会有更新,还是做上吧。

git remote add public https://github.com/cmu-db/bustub.git

在这里插入图片描述
检查一下是否添加成功

git remote -v

在这里插入图片描述
然后是build
安装包

sudo build_support/packages.sh

注意,这里不出意外的话会有点问题,会报错找不到clang-14包,我们这样做:

wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
sudo vi /etc/apt/sources.list

把下面的东西添加进去,下方来源

deb http://apt.llvm.org/focal/ llvm-toolchain-focal main
deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal main
# 14
deb http://apt.llvm.org/focal/ llvm-toolchain-focal-14 main
deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-14 main
# 15
deb http://apt.llvm.org/focal/ llvm-toolchain-focal-15 main
deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-15 main
# 16
deb http://apt.llvm.org/focal/ llvm-toolchain-focal-16 main
deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-16 main
sudo apt update
sudo apt-get install clang-format clang-tidy clang-tools clang
sudo apt-get purge clang-10 # 卸载老版本,按你自己的实际情况选择参数
sudo apt-get purge libclang-10-dev

查看当前clang版本(本课程实际上使用的是clang14)

clang -v

在这里插入图片描述
修改一下Cmake,不然不出意外会抛一个warning:"!! We recommend that you use clang-12 for developing BusTub. You're using xxx, which is not clang."。这个其实应该没啥事,不过看着不爽。字符串里填的是你自己clang的安装地址。

set(CMAKE_C_COMPILER "/usr/bin/clang")
set(CMAKE_CXX_COMPILER "/usr/bin/clang++")
mkdir build
cd build
cmake ..
make -j 4 # 加速

在等编译的时候,可以先去gradescope注册个号,点击右上角Sign Up
在这里插入图片描述Student
在这里插入图片描述
课程号填PXWVR5(2022 FALL),2KJRB5(2023 SPRING),学校填Carnegie Mellon University,填好其他信息及邮件,会给你的邮箱发送一封设置密码的邮件,密码要求最短12位。这个验证码是专门提供给非CMU学生的,来自FAQ,不得不说国外大学就是好,专门把课给你放出来,还生怕你提交不了作业,啧啧。
在这里插入图片描述
成功登录后可以看到已经加入成功了。
在这里插入图片描述

这个时候我们发现已经编译完了
在这里插入图片描述

测试

cd build
make check-tests

这是测试全部的,注意看官方文档,这一步应该会报挺多错。
在这里插入图片描述
然后也可以执行单个测试:
在这里插入图片描述
OK,WSL上的环境就配置得差不多了。

然后VS上登录github,克隆自己的那个库,就可以直接编辑了,把clangd、cmake、wsl一系列东西下好,是支持直接校准格式以及调试云云的~ VScode和Clion其实教程多不少。

为了在Windows 10上配置CMU 15445的环境,你可以使用VSCode来编写代码,并通过安装Linux子系统来满足课程要求。首先,你需要安装并配置Linux子系统(Ubuntu),以便在Windows上运行Linux环境。然后,你可以在VSCode中编写代码并享受代码高亮等功能,但是你需要在Linux终端中使用cmake来编译和运行代码以及单元测试。 在配置环境时,你可能会遇到一个警告,建议使用clang-12来开发BusTub。你可以通过修改CMake文件来解决这个问题,将CMake中的编译器地址设置为你自己的clang安装地址。具体的操作包括设置CMAKE_C_COMPILER和CMAKE_CXX_COMPILER的路径,并使用mkdir命令创建一个build文件夹,进入该文件夹并运行cmake和make命令来编译你的代码。 总结起来,你可以按照以下步骤进行CMU 15445环境配置: 1. 安装并配置Linux子系统(Ubuntu)以满足课程要求。 2. 在VSCode中使用代码编辑器来编写代码,并享受代码高亮等功能。 3. 在Linux终端中使用cmake来编译和运行你的代码以及单元测试。 4. 如果遇到警告信息,可以通过修改CMake文件来解决问题。 希望这些信息对你有所帮助,祝你在CMU 15445的学习中顺利配置环境!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [在vscode(win10)配置 CMU-15445-lab(linux子系统)](https://blog.csdn.net/Kprogram/article/details/124375883)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [CMU154452023 Springlab - 环境配置](https://blog.csdn.net/J__M__C/article/details/129858032)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值