bazel 引入第三方库
时间: 2023-09-15 20:23:26 浏览: 143
第三方软件入库
要在Bazel项目中引入第三方库,需要先在WORKSPACE文件中定义库的依赖关系。可以使用 `http_archive` 或 `git_repository` 规则下载库的源代码,并将其添加到Bazel项目的依赖中。
例如,要引入Google的Abseil库,可以在WORKSPACE文件中添加以下内容:
```
http_archive(
name = "com_github_google_abseil_cpp",
url = "https://github.com/google/abseil-cpp/archive/20210324.3.tar.gz",
sha256 = "5eb0f8c4203f3b1c4214d427c4b8a9b4f4d3cc6e6f9d4c0f3e0c6f0f68b9e6f0",
)
load("@com_github_google_abseil_cpp//:build_defs.bzl", "absl_deps")
absl_deps()
```
然后,在BUILD文件中使用库的名称和版本号来引用库:
```
cc_library(
name = "my_library",
srcs = ["my_library.cc"],
hdrs = ["my_library.h"],
deps = [
"@com_github_google_abseil_cpp//absl/strings",
# other dependencies
],
)
```
在这个例子中,`@com_github_google_abseil_cpp//absl/strings` 是Abseil库的字符串模块。使用 `//` 后面的路径来指定库中特定的模块或目录。
阅读全文