Файлы Minimal Bazel BUILD и WORKSPACE для компиляции примера "monster", включая sample_text. cpp - PullRequest
0 голосов
/ 06 февраля 2020

Я новичок в FlatBuffers и Bazel. Может кто-нибудь опубликовать минимальный пример для компиляции самого плоского c, файла monster_generated.h, а затем sample_text. cpp?

Когда я запускаю:

  • bazel build flatbuffers : flat c

Я получаю следующую ошибку:

  • Невозможно найти пакет для @rules_cc // cc: defs.bzl: Репозиторий '@ rules_ cc 'не может быть решена.

Затем я временно строю квартиру c с CMake и перешел к построению sample_text. cpp с Bazel. Я думал, что нашел здесь минимальный пример:

Однако, когда я запускаю:

  • bazel build flatbuffers-bazel: sample_binary

Я получаю:

  • фатальная ошибка: файл 'monster_generated.h' не найден

Когда Я обманываю и переношу копию monster_generated.h (сделанную вручную с помощью flat c, сам скомпилированный с CMake) в рабочую область, и добавлю ее в раздел srcs в BUILD, затем получу:

  • каждое правило типа cc_flatbuffers_compile неявно зависит от цели '@flatbuffers //: flat c', но эта цель не может быть найдена из-за: нет такого пакета '@ flatbuffers //': репозиторий '@flatbuffers' мог не будет решена

Вероятно, это основная проблема c, поскольку кажется, что Bazel поддерживается, поэтому любые советы приветствуются!

Спасибо,

Шон

1 Ответ

0 голосов
/ 07 февраля 2020

Вам нужно импортировать rules_cc в ваше РАБОЧЕЕ МЕСТО, чтобы иметь его локально.

    http_archive(
        name = "rules_cc",
        urls = ["https://github.com/bazelbuild/rules_cc/archive/262ebec3c2296296526740db4aefce68c80de7fa.tar.gz"],
        strip_prefix = "rules_cc-262ebec3c2296296526740db4aefce68c80de7fa",
        sha256 = "3057c13fa4d431eb0e7a9c28eea13f25987d29f869406b5ee3f2bd9c4134cb0c",
    )
...