【发布时间】:2018-05-29 17:04:45
【问题描述】:
我有一个外部库ace.so。
cc_library(
name='ace',
hdrs=glob(['path/to/ace/**']),
srcs=['path/to/ace.so'],
)
如何使用 bazel 链接到该库?我在直接调用 gcc/g++ 时知道a colon can be used,但我不确定如何从 bazel 获得相同的行为。
- 我尝试将
-l:ace.so(也是-Wl,-l:ace.so)添加到copts,但似乎bazel 没有将其传递给gcc 或将其添加到用于链接器参数的@文件中. - 我尝试将
nocopts='-lace.so'与linkopts=['-l:ace.so']结合使用。不走运。 - 我也尝试了
cc_import而不是cc_library,但这也没有用。
我已经阅读了Importing precompiled C++ libraries 文档,但我没有看到任何关于使用带有任意前缀或没有前缀的库的任何内容。
作为临时修复,我添加了一个符号链接 libace.so 指向 ace.so 并更改了 srcs 行以匹配。虽然这可行,但我更愿意说服 bazel 按原样使用该库。
【问题讨论】:
-
我试过了,但没有通过。能否请您更正您的帖子。您在下面的代码块的第一段中将
:称为分号,但它是一个冒号。 -
@OndrejK。固定的。我意识到我在发布后犯了一个错误,但并没有认为它严重到需要修复 - 毕竟从链接页面中很明显。
标签: bazel