Этот файл сборки Bazel не имеет только deps no srcs

Я пытался использовать медиа-канал Google, но в этой сборке Bazel нет srcs only deps. Что должно быть основной программой в этой сборке?

package(default_visibility = ["//mediapipe/examples:__subpackages__"])

cc_binary(
    name = "hand_tracking_tflite",
    deps = [
        "//mediapipe/examples/desktop:simple_run_graph_main",
        "//mediapipe/graphs/hand_tracking:desktop_tflite_calculators",
    ],
)

cc_binary(
    name = "hand_tracking_cpu",
    deps = [
        "//mediapipe/examples/desktop:demo_run_graph_main",
        "//mediapipe/graphs/hand_tracking:desktop_tflite_calculators",
    ],
)

# Linux only
cc_binary(
    name = "hand_tracking_gpu",
    deps = [
        "//mediapipe/examples/desktop:demo_run_graph_main_gpu",
        "//mediapipe/graphs/hand_tracking:mobile_calculators",
    ],
)

1 ответ

Решение

Как указано в документации cc_binary, deps определяет список библиотек, связанных с этой двоичной целью. Первая зависимость каждого правила определяет библиотеку с функцией main. Вы можете увидеть это, посмотрев на первое определение зависимости:

mediapipe/examples/desktop/BUILD:

cc_library(
    name = "simple_run_graph_main",
    srcs = ["simple_run_graph_main.cc"],
    deps = [
#... removed for clarity.
    ],
)

Поэтому main определяется в mediapipe/examples/desktop/demo_run_graph_main.cc

Надеюсь, это поможет;)

Другие вопросы по тегам