在本地bazel工作区中时,如何包含其他Flatbuffer模式?

我试图在用bazel构建的c ++项目中使用flatbuffer_cc_library。但是,我不知道如何处理包含路径。我需要在其他程序包中引用平面缓冲区架构,并将其包含在我的架构中。请注意,我的项目结构有点奇怪-整个过程都在路径的本地bazel工作区(因此为external/project_name)前缀内进行。如果我为external/project_name指定include_paths,事情就可以了,但是我假设那不是我应该做的事情,因为工作空间的名称可以更改。

例如:

plugin/BUILD.bazel

cc_library(
    name = "plugin-types",srcs = ["types.cpp"],hdrs = ["types.hpp"],deps = [":messages"],)

flatbuffer_cc_library(
    name = "messages",srcs = [
        "messages.fbs",],includes = [
        "//core:messages.fbs",visibility = ["//visibility:public"],)

plugin/messages.fbs

include "core/messages.fbs";
namespace plugin;
//...

我得到类似

error: external/project_name/plugin/messages.fbs:1: 40: error: unable to load include file: core/messages.fbs
heshaojiang123456 回答:在本地bazel工作区中时,如何包含其他Flatbuffer模式?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2387634.html

大家都在问