我正在开发一个 C++ 项目,我需要 Numpy 之类的数组和 C++ 中的功能。我找到了一些替代方案,例如xtensor、NumCpp等。这些是仅标头的库。问题是我是第一次尝试 Bazel,所以我不知道如何将仅标头库添加到 Bazel 工作区。在 Bazel 的其他问题上提出了一些建议,例如 genrule-environment、rules-foreign-cc。我已将 http_archive 添加到 WORKSPACE 文件中,但我不确定要在 BUILD 文件中添加什么。
工作空间文件
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
all_content = """filegroup(name = "all", srcs = glob(["**"]), visibility = ["//visibility:public"])"""
http_archive(
name = "xtensor",
build_file_content = all_content,
strip_prefix = "xtensor-master",
urls = ["https://github.com/xtensor-stack/xtensor/archive/refs/heads/master.zip"],
)
http_archive(
name = "NumCpp",
build_file_content = all_content,
strip_prefix = "NumCpp-master",
urls = ["https://github.com/dpilger26/NumCpp/archive/refs/heads/master.zip"],
)
http_archive(
name = "rules_foreign_cc",
sha256 = "c2cdcf55ffaf49366725639e45dedd449b8c3fe22b54e31625eb80ce3a240f1e",
strip_prefix = "rules_foreign_cc-0.1.0",
url = "https://github.com/bazelbuild/rules_foreign_cc/archive/0.1.0.zip",
)
load("@rules_foreign_cc//:workspace_definitions.bzl", …Run Code Online (Sandbox Code Playgroud)