如何解决 bazel“未声明的包含”错误?

2024-02-24

我是 bazel 新手,并且无法使用以下命令构建我的 C++ 包

错误:/path/to/package/BUILD:linenumber:1 规则“//path/to/package:name”中未声明包含内容: 此规则缺少“path/to/package/source_file.cpp”包含的以下文件的依赖关系声明

...后面是不同目录中的头文件列表。这些文件不是正在构建的包的一部分,而是从其他地方拉入的。

我的问题是如何正确地将声明添加到 BUILD 文件中以解决错误?

根据在线 Bazel 文档here https://bazel.build/versions/master/docs/be/c-cpp.html#cc_library我应该将每个标题添加到srcs列表。 (需要明确的是,这些是我正在构建的库内部使用的标头,not公共接口的一部分,因此它们不属于hdrs.) 但如果我尝试这样做,

  srcs = [ ..., "path/to/dependent/headers/header.h",]

我收到一条错误消息

错误:...跨越子包的边界...(也许您的意思是 将冒号放在这里:...?)

因为带有标头的目录不是 Bazel 包。

如果我尝试将最后的 / 更改为冒号,如该错误消息所示,

  srcs = [ ..., "path/to/dependent/headers:header.h",]

then

错误:...目标名称不能包含“:”。

Bazel C++ 教程here https://bazel.build/versions/master/docs/tutorial/cpp.html,在“附加包含路径”部分中表示外部包含目录应通过声明copts:

cc_library(
    name = "some_lib",
    srcs = ["some_lib.cc"],
    hdrs = ["some_lib.h"],
    copts = ["-Ithird_party/some_lib"],
)

但添加 -I 标志确实如此notgit 摆脱“未声明的包含”错误!

$ bazel version
Build label: 0.4.3
Build target: bazel-out/local-fastbuild/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Thu Dec 22 12:31:25 2016 (1482409885)
Build timestamp: 1482409885
Build timestamp as int: 1482409885

我遇到了类似的问题“规则中未声明的包含”,我通过删除“/root/.cache/bazel/”中的 bazel 缓存文件解决了这个问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何解决 bazel“未声明的包含”错误? 的相关文章

  • CMake 找不到请求的 Boost 库

    既然我已经浏览了其他人的解决方案几个小时 但找不到适合我的问题的正确答案 我想将我的具体问题带给您 我正在尝试使用 CMake 构建 vsomeip 为此 我之前构建了 boost 1 55 但是 我在 CMake 中收到以下错误 The
  • Poco c++Net:Http 从响应中获取标头

    我使用 POCO C Net 库进行 http 我想尝试制定持久缓存策略 首先 我认为我需要从缓存标头中获取过期时间 并与缓存值进行交叉检查 如果我错了 请告诉我 那么我如何从中提取缓存头httpResponse 我已经看到你可以用 Jav
  • 在 Java 中创建 T 的新实例

    在C 中 我们可以定义一个泛型class A
  • 检测wlan是否关闭

    任何人都可以给我一个提示 如何在 Windows Phone 上以编程方式检测 C 8 1 应用程序 不是 8 0 是否启用 禁用 WLAN 我不想更改这些设置 只是需要知道 该解决方案是一个 Windows 8 1 通用应用程序 Wind
  • 在 omp 并行 for 循环中使用 unique_ptr 会导致 SEG.FAULT

    采取以下代码 include
  • C# 开源 NMEA 解析器 [已关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找 C 开源 NMEA 解析器 嗯 我自己也不熟悉 但是一些快速搜索显示了一个代码项目 htt
  • 获取 boost Spirit 语法中的当前行

    我正在尝试使用 boostspirit 获取正在解析的文件的当前行 我创建了一个语法类和结构来解析我的命令 我还想跟踪在哪一行找到命令并将其解析到我的结构中 我将 istream 文件迭代器包装在 multi pass 迭代器中 然后将其包
  • C# 编译器不会优化不必要的强制转换

    前几天 在写答案的时候这个问题 https stackoverflow com questions 2208315 why is any slower than contains在这里 关于溢出 我对 C 编译器感到有点惊讶 它没有按照我的
  • UI 函数在快速事件完成之前触发

    我有一个停靠在 Silverlight 应用程序中的 Web 浏览器框架 有时会在其上弹出全窗口 XAML Silverlight UI 元素 我已经或多或少修复了一个老问题 即 Web 框架的内容似乎与 Silverlight 内容不能很
  • 如何在三个 IEnumerable 上使用 Zip [重复]

    这个问题在这里已经有答案了 可能的重复 使用 Linq 从 3 个集合创建项目 https stackoverflow com questions 5284315 create items from 3 collections using
  • 为什么 Cdecl 调用在“标准”P/Invoke 约定中经常不匹配?

    我正在开发一个相当大的代码库 其中 C 功能是从 C P Invoked 的 我们的代码库中有很多调用 例如 C extern C int stdcall InvokedFunction int 使用相应的 C DllImport CPlu
  • 如何使用 NPOI 按地址(A1、A2)获取 Excel 单元格值

    我有一个 Excel 单元格地址 例如 A1 A2 如何使用 C 中的 NPOI 框架以编程方式访问此单元格 我找到的一些 Java POI 示例代码 CellReference cr new CellReference A1 row my
  • 逆向工程 ASP.NET Web 应用程序

    我有一个 ASP NET Web 应用程序 我没有源代码 该 bin 包含 10 个程序集和一个 compiled 文件 我在 App Code dll 上使用 Reflector 它向我显示了类和命名空间之类的东西 但它太混乱了 有没有什
  • .NET 4 的条件编译[重复]

    这个问题在这里已经有答案了 可能的重复 条件编译和框架目标 https stackoverflow com questions 2923210 c sharp conditional compilation and framework ta
  • 使用 jQuery 从 ASP.Net JSON 服务获取数据

    我正在尝试调用 Google 地图地理编码 API 从纬度 经度对中获取格式化的地址 然后将其记录到控制台 我正在尝试获取为给定位置返回的第一个 formatted address 项目 我很简单无法从 JSON 中提取该项目 我不知道为什
  • 在 C#.NET 中安全删除文件

    在我正在做的一个项目中 我想为用户提供 安全 删除文件的选项 例如 用随机位或 0 覆盖它 在 C NET 中是否有一种简单的方法可以做到这一点 效果如何 你可以调用系统内部删除 http technet microsoft com en
  • 来自 3rd 方库的链接器错误 LNK2019

    我正在将旧的 vc 6 0 应用程序移植到 vs2005 我收到以下链接器错误 我花了几天时间试图找到解决方案 错误LNK2019 无法解析的外部符号 imp 创建AwnService 52 在函数 public int thiscall
  • 如何使用placement new重新初始化该字段?

    我的课程包含字段 private OrderUpdate curOrderUpdate 我一遍又一遍地使用它 经常需要重新初始化 for int i 0 i lt entries size i auto entry entries i ne
  • 结构化绑定的用例有哪些?

    C 17 标准引入了新的结构化绑定 http en cppreference com w cpp language structured binding功能 最初是proposed http www open std org jtc1 sc
  • 使用未分配的局部变量

    我遇到了一个错误 尽管声明了变量 failturetext 和 userName 错误仍然出现 谁能帮帮我吗 Use of Unassigned local variable FailureText Use of Unassigned lo

随机推荐

  • 使用 Mock.side_effect 作为实例方法

    我正在尝试在 Python 中模拟一个带有副作用的实例方法 我希望 期望使用初始 self 参数来调用我的副作用 我可以用它来确定返回值 所以我有这样的事情 import mock class TestCases unittest Test
  • 创建新的 WPF 项目时已添加具有相同键的项目

    我刚刚创建了一个新的 WPF 我在 Visual Studio 2015 Pro 中创建了一个项目 在 创建项目 对话框消失后 我没有得到设计器 这个 ArgumentException 只是显示在那里 我没有添加任何控件或任何东西 刚刚创
  • 空基类优化现在是强制优化吗(至少对于标准布局类)?

    根据C 11 9 1 7 草案 n3376 a 标准布局class 是一个类 没有非标准布局类 或此类类型的数组 类型的非静态数据成员或引用 没有虚函数 10 3 和虚基类 10 1 对所有非静态数据成员具有相同的访问控制 第 11 条 没
  • 连续按下视图控制器时缺少导航或后退按钮标题

    我有一个问题UINavigationController当连续推动视图控制器时 有关信息 我使用 XCode 7 0 针对 iOS 8 进行构建 并在 Simulator 9 0 上运行应用程序 这是用户手动点击表格视图单元格时的视图 如上
  • 使用 concat() 将行附加到数据框

    我定义了一个空数据框 df pd DataFrame columns Name Weight Sample 并想要在 for 循环中追加行 如下所示 for key in my dict row Name key Weight wg Sam
  • 子类是否应该调用直接超类中指定的初始值设定项?

    我看到了一些示例代码 这让我想知道如何在超类中调用指定的初始值设定项 假设我有一些代码 interface NewTableViewCell UITableViewCell end implementation NewTableViewCe
  • Google 是否允许其他人使用他们的“您是说”API 吗?

    我查遍了互联网 但没有找到确切的API 我想在我自己的网站上使用他们的 你的意思是吗 功能 Pygoogle 有一个 api 调用 http pygoogle sourceforge net dist doc public google m
  • Magento Memcached 会话

    我目前正在尝试使用以下设置为 Magento 设置生产环境 2 个 Web 服务器 1 个数据库服务器 负载均衡器 因此 负载均衡器将在 Web 服务器之间分配流量 但不会使用粘性会话 为了解决服务器之间共享会话的问题 我选择使用 Memc
  • Tensorflow 2.1 满内存和 tf.function 被调用两次

    我正在使用 Tensorflow 2 1 开发卷积自动编码器 这是代码 class ConvAutoencoder def init self input shape latent dim self input shape input sh
  • 关闭选项菜单不起作用?

    我只想使用以下代码在特定选项卡中显示选项菜单 public class MainActivity extends FragmentActivity implements ActionBar TabListener The link andr
  • 在android studio中将Unity场景显示为子视图

    我对在 android studio 项目中显示 3D 模型和图形有点困惑 我一直在与Rajawali https github com Rajawali Rajawali 这是一个 Android OpenGL ES 2 0 3 0 引擎
  • 找出重复数字的重复次数

    这是我和朋友们一起写的算法 在 stackoverflow 网站上 该算法将仅找到第一个重复的数字并返回它 这适用于O n 我想完成这个算法 帮助我通过重复获得重复的数字 认为我有 1 1 3 0 5 1 5 我希望这个算法返回2重复的数字
  • 从聚合返回整个文档

    我使用以下查询来获取数据库中每篇文章的最新评论 db comments aggregate match post id in ObjectId 52c5ce24dca32d32740c1435 ObjectId 52c5ce24dca32d
  • jRails 与原型

    我并不是想让这个问题成为一个偏好问题 我真的想知道人们使用 jQuery 和 Rails 或 jRails 进行开发的经验如何 到目前为止 包括我在内的大多数 Rails 用户都在使用 Prototype 然而 我混合了很多 jQuery
  • “iframe沙箱”技术安全吗?

    Update 由于这个问题没有答案 我稍微改变一下问题 下面链接的 Dean 博客上的帖子评论表明该技术在 Safari 中不起作用 我现在的问题是 下面描述的技术在现代浏览器中是否有效 特别是有人可以确认它是否在 Safari 中有效 这
  • 原始资源与 SQLite 数据库

    我正在创建一个应用程序 它将使用大量数据 无论出于何种意图和目的 这些数据都是静态的 我原以为使用 SQLite 数据库来处理该数据是最有意义的 我想知道仅使用 XML 文件然后将其作为原始资源访问是否有意义 请记住 可能会有大量数据 大约
  • Apollo Server - 关于缓存/数据源选项的混淆

    文档 https www apollographql com docs apollo server features data sources html Using Memcached Redis as a cache storage ba
  • “向您的机器人发送此消息时出错:HTTP 状态代码未找到”

    我用 C 创建了一个机器人并部署了它 但我不断收到错误代码NotFound或者在模拟器 404 中测试时 该机器人在测试时在本地工作得很好 但在部署时却失败了 我用 Composer 创建了一个机器人 它做同样的事情 在本地工作 但在部署到
  • 模拟角度服务类属性或变量

    我正在对一个角度应用程序进行单元测试 并且有一个我需要模拟的服务 我能够毫无问题地模拟服务方法 但是当我尝试以相同的方式模拟属性时 它会给我错误 我的配置服务有一个属性和一种方法 我想模 拟该属性 因为我无法生成该值 Service Inj
  • 如何解决 bazel“未声明的包含”错误?

    我是 bazel 新手 并且无法使用以下命令构建我的 C 包 错误 path to package BUILD linenumber 1 规则 path to package name 中未声明包含内容 此规则缺少 path to pack