Я использую dylibbundler инструмент для объединения всех зависимых библиотек для моих плагинов macOS, используемых сторонним приложением.У меня есть два плагина, которые связаны с одними и теми же библиотеками, но предоставляют разные функции для хост-приложения.dylibbundler
рекурсивно копирует зависимости в подпапку libs папки моего плагина Contents и исправляет пути, используя install_name_tool
правильно.
Оба плагина работают без проблем, когдазагружается отдельно.Однако загрузка второго плагина, когда первый уже загружен (неважно, какой), приводит к сбою приложения хоста.
При запуске под отладчиком я получаю сообщение из консоли:
ОШИБКА: что-то не так с флагом 'flagfile' в файле '/ tmp / gflags-20170711-37644-1a52f7v/gflags-2.2.1/src/gflags.cc.Одна возможность: файл '/tmp/gflags-20170711-37644-1a52f7v/gflags-2.2.1/src/gflags.cc' связан статически и динамически с этим исполняемым файлом.
довольно расплывчато: я вижу, что мои плагины имеют косвенные зависимости от libgflags.dylib (через другую библиотеку librocks.dylib ), однако я не понимаю, почему происходит сбой?
Согласно сообщению об ошибке, я пытался найти двоичный файл, который статически связан с gflags - для этого использовал nm
, но безуспешно.Если происходит сбой, потому что он пытается загрузить те же зависимости, почему он не жалуется на другие зависимые библиотеки?