是否可以将依赖关系硬编码到使用bazel构建的库中。原因是,如果我构建somelib,则可以在工作空间中使用它,但是一旦我将lib复制到其他地方,我就会失去所有依赖关系(Bazel缓存)。当我要将库部署到系统中或进行安装时,Witch产生了问题。
some_folder
|
thirdparty
|_WORKSPACE
|_somelib
| |_src
| |_ a.c
| |_ BUILD
| |_include
| |_a.h
|_include
|_ b.h
答案 0 :(得分:1)
听起来您想构建一个完全静态链接的库。这可以在Bazel中完成,方法是使用cc_binary
属性设置为linkshared
的{{1}}构建库。根据{{3}},您还必须命名您的图书馆True
或类似名称。
启用静态库的是libfoo.so
的{{1}}属性行为。缺省为cc_binary
时,所有可以静态链接到二进制文件的依赖项都将是。请注意,linkstatic
在True
上的行为不同,请参见documentation。
因此,基本上,您需要在BUILD文件中添加类似的内容
linkstatic
祝你好运!