Как вкомпилировать одну библиотеку в другую?

Делаю библиотеку А, которая использует protobuf для сериализации. Собираю из неё conan пакет, чтобы использовать в других приложениях. Protobuf используется как внутренняя библиотека - в интерфейсе библиотеки А не используется protobuf, или его message'и. Protobuf подключаю следующим образом:

target_link_libraries(A PRIVATE ${PROTOBUF_LIB})

Библиотека А собирается и проходит тесты, но при линковке в другой проект возникает ошибка:

~/.conan/data/protobuf/3.9.1/../include/google/protobuf/arena.h:531: undefined reference to `google::protobuf::Arena::OnArenaAllocation(std::type_info const*, unsigned long) const'

Как я понял, protobuf линкуется, но его код не встраивается в код бибилотеки А. Учитывая, что наружу библиотеки не торчит ничего из porotobuf - можно ли подключить его так, чтобы убрать его из зависимостей? Что-то наподобии подключения статичской библиотеки в код другой библиотеки?


Ответы (0 шт):