问题标签 [bazel-cpp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
50 浏览

mingw - 使用 Bazel 和 Mingw 编译 gflags 库

我在 Windows 10 上使用 MSYS2。我将mingw-w64-x86_64-gcc安装到我的 MSYS2 环境中。

现在我尝试gflags使用 Bazel 和 MinGW 构建库。

我收到以下错误:

执行时似乎出了点问题expand_template。但我不知道为什么。有没有人有一些想法或提示这里有什么问题?

0 投票
1 回答
46 浏览

bazel - 如何将 `cc_binary`/`cc_library` 包装到自定义规则中(不是宏!)?

为了解决bug并设置特定于平台的编译器选项,我想将cc_binary(and cc_library) 包装到自定义规则中。我不想使用宏,因为我必须像这样构造我的代码:

相反,我想像这样构建我的代码:

后者仅在可以查询平台属性的规则中才有可能。在宏中,我会卡住select每个单独的属性。

我的问题是我的自定义规则的样板 - 应该是什么attrs,以便我可以透明地转发到本机cc_binary/cc_library规则?我是否错过了一种简单的方法来做到这一点,即不会将cc_*规则的整个接口规范翻译成starlark?

0 投票
1 回答
28 浏览

bazel - Bazel:如何使 new_local_repository 目标依赖于 http_archive 生成​​的目标?

我有几个依赖于 的第三方库,所以我通过存储库机制 ( )openssl获取和构建 openssl 。http_archive()而且我有 GRPC,boringssl它具有与 openssl 相同的符号(链接后我因冲突而出错)。

我想重新定义boringsll使用new_local_repository()方法。但我不知道如何将生成的路径传递给path参数以及new_local_repository()调用如何取决于openssl目标。

想要获取的代码如下所示:

0 投票
0 回答
21 浏览

bazel - 如何仅与带有 bazel 的某些库动态链接?

有某些库,例如具有全局状态的 gflags。我处于主要可执行文件和动态加载的插件(.so)都使用gflags的情况。在这两种情况下,bazel 都会静态链接 gflags。我需要改变这一点,我必须以某种方式告诉 bazel 仅动态链接 gflags。我想我可以设置linkstatic=False主可执行文件和插件(.so)。但在那之后,所有其他库也将动态链接到它们。

所以我的问题是:我怎样才能告诉 bazel动态链接 gflags?

0 投票
1 回答
46 浏览

c++ - bazel rules_foreign_cc - //:取决于存储库@local_config_cc 中的@local_config_cc//:cc-compiler-k8 无法获取

我是bazel的绝对初学者。我正在尝试通过rules_foreign_cc使用 bazel 构建基于 CMake 的应用程序

基本信息:

  • 操作系统:Ubuntu 20.04 LTS
  • Bazel 版本:尝试使用 3.4.0 和 5.0.0
  • CMake 版本:3.19.5

我的目录结构看起来像这样

<my_cmake_based_app> 在其根目录下有一个 CMakeLists.txt。

WORKSPACE 文件如下所示:

我的 BUILD 文件如下所示:

用于开始构建。我使用以下命令:

错误日志如下所示:

我的一些明显问题是:

  • 我不知道这个@local_config_cc 是从哪里来的。
  • 我是否错过了要在我的 WORKSPACE / BUILD 文件中添加的内容?或者
  • 我的目录结构是一团糟吗?

附带说明一下,由于这是我第一次在 stackoverflow 上发布内容,因此我非常感谢任何提示,以便我将来可以以更好的方式提出问题。

谢谢!

编辑:仅供参考,我能够在我现有的系统上构建rules_foreign_cc中给出的示例。

编辑:仅供参考,我使用的系统是 AWS EC2 实例