我想在基于bazel的c++项目之一中链接外部静态库。我需要“whole-archive
”选项来链接类似gcc或g++ build的库:
g++ main.cc -Wl,--whole-archive -lhttp -Wl,--no-whole-archive
有人可以建议bazel中“
--whole-archive
”的替代内容是什么吗? 最佳答案
可悲的是,alwayslink不适用于预编译的库,仅适用于由Bazel编译和链接的cc_library
。有一个未记录的hack(我想我只是在这里提到它来记录它),并且它是将.a文件重命名为.lo文件。然后,Bazel将其链接为整个存档。
请注意,这是一种黑客行为,它将在没有警告的情况下停止工作。我们已经计划了针对此用例的cc_import
规则的一些变体,以便将预编译的二进制文件导入到工作区中,并可以在其上设置整个存档。它还不存在。
关于c++ - 替换为bazel中的 “` --whole-archive`”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44674163/