学习目标

  • 掌握多文件项目构建
  • 理解依赖管理
  • 学会使用库

12.1 多文件项目

项目结构

project/
├── WORKSPACE
├── BUILD
├── main.c
├── utils.c
└── utils.h

BUILD 文件

cc_library(
    name = "utils",
    srcs = ["utils.c"],
    hdrs = ["utils.h"],
)

cc_binary(
    name = "app",
    srcs = ["main.c"],
    deps = [":utils"],
)

12.2 多目录项目

project/
├── WORKSPACE
├── src/
│   ├── BUILD
│   └── main.c
└── lib/
    ├── BUILD
    ├── utils.c
    └── utils.h

lib/BUILD

cc_library(
    name = "utils",
    srcs = ["utils.c"],
    hdrs = ["utils.h"],
    visibility = ["//visibility:public"],
)

src/BUILD

cc_binary(
    name = "app",
    srcs = ["main.c"],
    deps = ["//lib:utils"],
)

实践练习

创建一个计算器项目,包含多个模块。

下一步

第 13 章:Bazel 构建系统 - 进阶

更新时间: