Bazel中alwayslink = true的含义是什么?
关于Bazel中cc_library的alwayslink属性说明
刚接触Bazel的话,这个alwayslink属性可能容易让你困惑,我给你拆解下官方文档里的核心信息:
alwayslink 布尔类型;可选;不可配置;默认值为0
如果将它设置为1,会有一个关键行为:任何直接或间接依赖该C++库的二进制文件,都会链接srcs列表中列出的所有目标文件,即使其中某些文件不包含二进制文件引用的符号。
这个属性的实用场景很明确:当你的代码不是被二进制文件中的代码显式调用时(比如那些自动注册以接收框架回调、或者插件式的代码),如果不开启alwayslink,编译器很可能会因为检测不到直接引用而把这些文件优化掉,导致对应的功能无法正常工作。
内容的提问来源于stack exchange,提问作者superd
相关产品推荐
相关产品推荐

