Предупреждение dpkg-shlibdeps в пакете Debian с виртуальными интерфейсами C ++

У меня есть проект C ++, который я упаковываю для Debian. Я использую чистые виртуальные классы C ++ и считаю, что это способствует dpkg-shlibdeps не узнать о зависимостях правильно.

У меня есть две библиотеки libA а также libB построен как отдельные пакеты Debian. В CMake libB построен с указанием зависимости от libA, что правильно. Тем не менее, я получаю следующие предупреждения при сборке пакетов:

dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libB/usr/lib/libB.so.1.0.0 was not linked against libA.so.1 (it uses none of the library's symbols)

Я подозреваю, что проблема в том, что с libB использования libA через чистый виртуальный заголовок класса C ++, что он не находит символ для конкретной реализации класса в libA и затем приходит к выводу, что никакой зависимости на самом деле не существует.

Мне интересно, какие шаги я должен предпринять, чтобы устранить это предупреждение?

Я мог представить, что существуют решения на уровне пакетов Debian, на уровне сборки CMake или, возможно, на уровне кода.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]