Bazel工具

685 阅读1分钟

首先确认一点,bazel多语言的构建工具,区别于其他构建工具(在构建领域有java构建工具maven、C语言构建Makefile等),bazel有其强大的优势。

  • 构建快。支持增量编译。对依赖关系进行了优化,从而支持并发执行。
  • 可构建多种语言。bazel可用来构建Java C++ Android ios等很多语言和框架,并支持mac windows linux等不同平台
  • 可伸缩。可处理任意大小的代码库,可处理多个库,也可以处理单个库
  • 可扩展。使用bazel扩展语言可支持新语言和新平台。

安装bazel

可以在window上尝试使用bazel进行构建官方例子(GitHub - bazelbuild/examples: Examples for Bazel), 但是不建议这么做,这样会浪费你的时间去做一些不必要的事情,本文是通过使用Ubuntu系统去对bazel进行简单的剖析。

安装依赖

zip、unzip、gcc、g++

sudo apt install -y zip unzip
sudo apt install -y gcc g++

下载bazel安装脚本

Release 5.1.1 · bazelbuild/bazel · GitHub image.png

很奇怪shell文件为什么有46.4MB,其实是bazel的压缩包追加到shell文件后面。

image.png 当然可以通过unzip对shell文件进行解压

unzip bazel-5.1.1-installer-linux-x86_64.sh -d ./test/

安装bazel

一路pass,畅通无助

sudo ./bazel-5.1.1-installer-linux-x86_64.sh --user

配置环境变量

vim ~/.bashrc
# 追加代码
export PATH=~/bin:$PATH

source ~/.bashrc

验证是否安装成功

bazel --version,回显 bazel 5.1.1成功

验证例子

下载bazel examples

git clone https://github.com/bazelbuild/examples.git
cd examples/cpp-tutorial/stage1/

编译例子

bazel build //main:hello-world