Я создал приложение на C ++, используя Eclipse IDE для разработчиков C / C ++ на Mac OS X.
Мое приложение включает в себя внешние библиотеки, такие как: PortAudio
, Aubio
а также wxWidgets
(динамическое связывание).
Как я могу создать установщик, чтобы приложение можно было установить на компьютеры Mac OS X?
Вы не первый, кто столкнулся с этой проблемой (не удивительно):
https://developer.apple.com/library/mac/#documentation/porting/conceptual/portingunix/intro/intro.html
Конкретно установщики:
https://developer.apple.com/library/mac/#documentation/porting/conceptual/portingunix/distributing/distibuting.html#//apple_ref/doc/uid/TP40002855-TPXREF101
Я предполагаю, что вы разрабатываете что-то, что будет жить в /Applications/MyApp.app.
Если вы на самом деле хочу загромождать систему пользователя случайным ассортиментом библиотек, ты не. OSX не имеет управления пакетами, как вы могли бы привыкнуть в других * nixes; единственная причина установки динамических библиотек / фреймворков заключается в том, что вы являетесь официальным дистрибьютором фреймворка (и можете гарантировать разумное управление версиями, обратную совместимость и, надеюсь, отсутствие коллизий с пакетами других пользователей) или если у вас есть набор приложений и вы хотите использовать его повторно. установить наворот (например, StuffIt). Но эти вещи никогда не могут быть удалены!
Более обычная вещь — это встраивать библиотеки в пакет .app, например в Contents / MacOS, Contents / usr / lib, Contents / Frameworks и т. д. Точный путь на самом деле не имеет значения (для простоты мне хотелось бы использовать Contents / MacOS). Затем вы используете доступ к библиотекам, используя относительные пути — @executable_path, @load_path или @rpath, который обычно включает в себя настройку библиотек, которые вы собираете с установить имя-инструмент. IIRC, Adium, Audacity и Firefox делают это вместе с (возможно) и многими другими.
Я не могу вспомнить учебник с макушки головы.