У меня есть внешняя библиотека ace.so
.
cc_library(
name='ace',
hdrs=glob(['path/to/ace/**']),
srcs=['path/to/ace.so'],
)
Как мне связаться с этой библиотекой с помощью bazel?Я знаю двоеточие можно использовать при прямом вызове gcc / g ++, но я не уверен, как получить такое же поведение от bazel.
- Я пытался добавить
-l:ace.so
(также -Wl,-l:ace.so
) в copts
, но кажется, что Базель не передает это в gcc или и добавляет его в файл @
, используемый для аргументов компоновщика. - Я пытался
nocopts='-lace.so'
в сочетании с linkopts=['-l:ace.so']
.Не повезло. - Я также попробовал
cc_import
вместо cc_library
, но это тоже не сработало.
Я прочитал Импорт предварительно скомпилированных библиотек C ++ doc, но я ничего не видел об использовании библиотек с произвольным префиксом - или без префикса.
В качестве временного исправления я добавил символическую ссылку libace.so
, указывающую на ace.so
и изменил строку srcs
для соответствия.Хотя это работает, я бы предпочел убедить Базеля использовать библиотеку как есть.