how_to_build.md 978 字节
Newer Older
羽飞's avatar
羽飞 已提交
1
# 如何编译
羽飞's avatar
羽飞 已提交
2 3 4 5 6 7 8

0. base

假设系统上已经安装了make等编译工具。

MiniOB 需要使用:
- cmake 版本 >= 3.10
羽飞's avatar
羽飞 已提交
9
- gcc/clang gcc建议8.3以上,编译器需要支持c++20新标准
羽飞's avatar
羽飞 已提交
10

羽飞's avatar
羽飞 已提交
11 12
1. 环境初始化
如果是第一次在这个环境上编译miniob,需要安装一些miniob的依赖库,执行下面的命令即可安装:
13
```bash
羽飞's avatar
羽飞 已提交
14
bash build.sh init
羽飞's avatar
羽飞 已提交
15
```
羽飞's avatar
羽飞 已提交
16
脚本将自动拉取依赖库(可以参考 .gitmodules) 然后编译安装到系统目录。
羽飞's avatar
羽飞 已提交
17

羽飞's avatar
羽飞 已提交
18
如果执行用户不是root,需要在命令前加上 `sudo`
羽飞's avatar
羽飞 已提交
19
```bash
羽飞's avatar
羽飞 已提交
20
sudo bash build.sh init
羽飞's avatar
羽飞 已提交
21
```
羽飞's avatar
羽飞 已提交
22

羽飞's avatar
羽飞 已提交
23
> 如果使用 GitPod 开发,可以跳过这步,会自动执行。
羽飞's avatar
羽飞 已提交
24 25


羽飞's avatar
羽飞 已提交
26
2. 编译
羽飞's avatar
羽飞 已提交
27

羽飞's avatar
羽飞 已提交
28
执行下面的命令即可完成编译:
羽飞's avatar
羽飞 已提交
29
```bash
羽飞's avatar
羽飞 已提交
30
bash build.sh
羽飞's avatar
羽飞 已提交
31 32
```

羽飞's avatar
羽飞 已提交
33
此命令将编译一个DEBUG版本的miniob。如果希望编译其它版本的,可以参考 `bash build.sh -h`,比如:
羽飞's avatar
羽飞 已提交
34
```bash
羽飞's avatar
羽飞 已提交
35
bash build.sh release
羽飞's avatar
羽飞 已提交
36 37
```

羽飞's avatar
羽飞 已提交
38
此命令将编译release版本的miniob。
羽飞's avatar
羽飞 已提交
39

羽飞's avatar
羽飞 已提交
40 41
3. 运行
参考 [如何运行](how_to_run.md)