Правильный способ ссылки на библиотеки с зависимостями?

Я работаю над довольно простым приложением OS X, которое использует несколько сторонних библиотек (SoX и TwoLAME) для преобразования звука. TwoLAME использует libsndfile, а SoX использует sndfile и ряд других библиотек.

Для разработки я просто установил две библиотеки с помощью Homebrew, который позаботился о зависимостях, а затем связал их прямо (например, в /usr/local/Cellar/...). Теперь, когда я готов к развертыванию, мне нужно найти способ собрать все вещи.

Я знаю, что в Какао фреймворки немного двусмысленны (фальшивые, динамические и т. Д.), Но в идеале мне бы хотелось, чтобы в результате я получил какие-то фреймворки того или иного вида, которые я могу добавить в проект, и все будет работать.

Я прочитал много разных документов и руководств по фреймворкам и попробовал несколько подходов, но мне кажется, что мне не хватает какой-то основной концепции, чтобы все это работало вместе.

Я смог сделать фреймворки из библиотек такого рода работы, в том смысле, что я компилирую из исходного кода, беру статическую (.a) библиотеку и помещаю ее в "фальшивый" фреймворк с заголовками, и приложение будет работать с этими. Эти статические библиотеки все еще ссылаются на зависимости моего локального пути. Так, например, если я удалю Lame из Homebrew, статическая библиотека SoX в моем фреймворке потерпит неудачу.

Я действительно изо всех сил пытаюсь выяснить, как лучше всего получить все эти библиотеки и их зависимости в этом приложении. Учебники, которые я видел по созданию динамических библиотек Какао с нуля, было очень трудно сделать с исходным кодом для этих уже существующих библиотек. Другой вариант, который я рассмотрел, это построить dylibs, а затем использовать install_name_tool чтобы изменить путь к относительному, просто отправьте все вместе с приложением и постарайтесь сопоставить все.

Должен быть какой-то лучший способ, который я просто скучаю, и был бы очень признателен за любую помощь.

0 ответов

Другие вопросы по тегам