首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >替换bazel中的“`--bazel archive``”

替换bazel中的“`--bazel archive``”
EN

Stack Overflow用户
提问于 2017-06-21 18:57:04
回答 2查看 1.7K关注 0票数 3

我想在我的一个基于bazel的c++项目中链接一个外部静态库。我需要"whole-archive“选项来链接库,就像gcc或g++ build:

代码语言:javascript
运行
复制
g++ main.cc -Wl,--whole-archive -lhttp -Wl,--no-whole-archive

有没有人能建议一下巴泽尔里"--whole-archive“的替代品是什么?

EN

回答 2

Stack Overflow用户

发布于 2017-06-22 21:36:15

遗憾的是,linked始终不能与预编译库一起工作,只能与Bazel编译和链接的cc_library一起工作。有一个未经记录的技巧(我想我只是通过在这里提到它来记录它),那就是将.a文件重命名为.lo文件。然后Bazel会将其链接为整个档案。

请注意,这是一个黑客攻击,并且会在没有警告的情况下停止工作。我们已经为这个用例制定了cc_import规则的一些变体,将一个预编译的二进制文件导入到工作区中,并能够在其上设置整个归档。只是它还没有出现。

票数 3
EN

Stack Overflow用户

发布于 2017-06-22 00:47:39

https://bazel.build/versions/master/docs/be/c-cpp.html#cc_library.alwayslink

总是链接

布尔型;可选;不可配置;默认值为0

如果为1,则任何(直接或间接)依赖于此C++库的二进制文件都将链接到srcs中列出的文件的所有目标文件中,即使其中一些文件不包含二进制文件所引用的符号。如果您的代码不是由二进制文件中的代码显式调用的,例如,如果您的代码注册为接收由某些服务提供的一些回调,这将非常有用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44674163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档