如何解决 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“未声明的包含”错误? 的相关文章

  • 使用 gcc 在 Linux 上运行线程构建块 (Intel TBB)

    我正在尝试为线程构建块构建一些测试 不幸的是 我无法配置 tbb 库 链接器找不到库 tbb 我尝试在 bin 目录中运行脚本 但这没有帮助 我什至尝试将库文件移动到 usr local lib 但这又失败了 任何的意见都将会有帮助 确定您
  • 在模板类中声明模板友元类时出现编译器错误

    我一直在尝试实现我自己的链表类以用于教学目的 我在迭代器声明中指定了 List 类作为友元 但它似乎无法编译 这些是我使用过的 3 个类的接口 Node h define null Node
  • 类型中的属性名称必须是唯一的

    我正在使用 Entity Framework 5 并且有以下实体 public class User public Int32 Id get set public String Username get set public virtual
  • 通过引用传递 [C++]、[Qt]

    我写了这样的东西 class Storage public Storage QString key const int value const void add item QString int private QMap
  • 如何在 Cassandra 中存储无符号整数?

    我通过 Datastax 驱动程序在 Cassandra 中存储一些数据 并且需要存储无符号 16 位和 32 位整数 对于无符号 16 位整数 我可以轻松地将它们存储为有符号 32 位整数 并根据需要进行转换 然而 对于无符号 64 位整
  • 机器Epsilon精度差异

    我正在尝试计算 C 中双精度数和浮点数的机器 epsilon 值 作为学校作业的一部分 我在 Windows 7 64 位中使用 Cygwin 代码如下 include
  • std::vector 与 std::stack

    有什么区别std vector and std stack 显然 向量可以删除集合中的项目 尽管比列表慢得多 而堆栈被构建为仅后进先出的集合 然而 堆栈对于最终物品操作是否更快 它是链表还是动态重新分配的数组 我找不到关于堆栈的太多信息 但
  • 如何连接重叠的圆圈?

    我想在视觉上连接两个重叠的圆圈 以便 becomes 我已经有部分圆的方法 但现在我需要知道每个圆的重叠角度有多大 但我不知道该怎么做 有人有主意吗 Phi ArcTan Sqrt 4 R 2 d 2 d HTH Edit 对于两个不同的半
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • C# 列表通用扩展方法与非通用扩展方法

    这是一个简单的问题 我希望 集合类中有通用和非通用方法 例如List
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • 复制目录下所有文件

    如何将一个目录中的所有内容复制到另一个目录而不循环遍历每个文件 你不能 两者都不Directory http msdn microsoft com en us library system io directory aspx nor Dir
  • 为什么 isnormal() 说一个值是正常的,而实际上不是?

    include
  • 对于某些 PDF 文件,LoadIFilter() 返回 -2147467259

    我正在尝试使用 Adob e IFilter 搜索 PDF 文件 我的代码是用 C 编写的 我使用 p invoke 来获取 IFilter 的实例 DllImport query dll SetLastError true CharSet
  • 当文件流没有新数据时如何防止fgets阻塞

    我有一个popen 执行的函数tail f sometextfile 只要文件流中有数据显然我就可以通过fgets 现在 如果没有新数据来自尾部 fgets 挂起 我试过ferror and feof 无济于事 我怎样才能确定fgets 当
  • 为什么 std::uint32_t 与 uint32_t 不同?

    我对 C 有点陌生 我有一个编码作业 很多文件已经完成 但我注意到 VS2012 似乎有以下语句的问题 typedef std uint32 t identifier 不过 似乎将其更改为 typedef uint32 t identifi
  • 类型或命名空间“MyNamespace”不存在等

    我有通常的类型或命名空间名称不存在错误 除了我引用了程序集 using 语句没有显示为不正确 并且我引用的类是公共的 事实上 我在不同的解决方案中引用并使用相同的程序集来执行相同的操作 并且效果很好 顺便说一句 这是VS2010 有人有什么
  • 现代编译器是否优化乘以 1 和 -1

    如果我写 template
  • 如何确定 CultureInfo 实例是否支持拉丁字符

    是否可以确定是否CultureInfo http msdn microsoft com en us library system globalization cultureinfo aspx我正在使用的实例是否基于拉丁字符集 我相信你可以使

随机推荐

  • 使用 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