Могу ли я использовать OpenFrameworks на OS X без использования XCode?

Я не могу выдержать XCode, но действительно люблю OpenFrameworks, и я знаю, что он работает на Linux + Win32, поэтому я не понимаю, почему он должен быть зависимым от XCode. Если мне нужно, чтобы XCode был установлен так, я просто не хочу использовать его вообще.

Ответ 1

Xcode внутренне использует gcc/llvm. на самом деле из командной строки вы можете cd в каталог, содержащий проект openFrameworks, и просто введите xcodebuild. но это не позволит вам редактировать файл проекта и добавлять новый исходный код и т.д.

make файлы Linux могут быть адаптированы для работы с OSX. они уже содержат много информации, необходимой для поиска правильных исходных файлов, путей к библиотекам и т.д. Однако Linux позволяет нам установить еще много компонентов в качестве общих системных библиотек, в то время как на OSX мы связываем большую часть библиотек статически, поэтому ряд дополнительных необходимо добавить библиотечные пути. вероятно, самая большая проблема заключается в том, что все должно быть скомпилировано 32 бит, что означает передачу -arch i386 везде, поэтому вы не можете просто установить зависимые библиотеки с помощью Homebrew или MacPorts. мы находимся в процессе перехода на 64 бит, но есть еще некоторые вызовы QuickTime, которые требуют от нас придерживаться 32 бит, в основном вокруг доступа к унаследованным устройствам захвата видео, которые многие из нас все еще используют для компьютерного зрения.

как @cdelacroix указывает, мы поддерживаем только файлы проекта Xcode на OSX. это в основном из-за отсутствия достойной альтернативы. есть версия Code:: Blocks для OSX, но она не очень хорошо поддерживается, имеет некоторые проблемы с поддержкой собственного gui и имеет тенденцию отставать от других платформ. Xcode также является самым простым способом установки инструментальной цепочки на OSX, поэтому для большинства пользователей, требующих установки Xcode, необходимо.

если вы создаете рабочую систему сборки на основе make файла и будете заинтересованы в ее среднесрочной и долгосрочной перспективе, подумайте о том, чтобы внести вклад в хранилище GitHub, было бы с радостью принято.

Ответ 2

Начиная с марта 2013 года, openFrameworks имеет официальную поддержку makefile для самой компиляции самой библиотеки. Однако на момент написания этой статьи изменения еще не были объединены в стабильный выпуск. Вам нужно клонировать Git репозиторий и переключиться на ветвь разработки.

git clone https://github.com/openframeworks/openFrameworks
cd openFrameworks && git checkout develop
cd libs/openFrameworksCompiled/project
make

Насколько я могу судить, нам все равно нужно использовать неофициальные решения для компиляции приложений против библиотеки.

Ответ 3

Вам нужен Xcode или, по крайней мере, набор компиляторов (более подробная информация доступна здесь), но в противном случае нет, вы можете редактировать/работайте с кодом в любом редакторе или среде, в которой вы хотите.

Ответ 4

Здесь ссылка на make файл, который будет компилировать приложение OpenFrameworks на OsX:

https://gist.github.com/labe-me/1190981

Поместите make файл в каталог приложений и запустите make. Протестировано на OsX 10.6, но еще не пробовал с дополнениями.

Ответ 5

Как сказал @mipadi, нет необходимости использовать Xcode, вы можете сделать почти все, что вы делаете в Xcode, с помощью make или cake или любой из вашей системы сборки. Все, что вам нужно сделать, это найти правильный набор параметров командной строки, чтобы перейти к обычным инструментам (компилятор, компоновщик, полоса и т.д.), А иногда проще всего... посмотреть в окне сборки Xcode, как это (расширьте строки с помощью маленькой кнопки справа от каждой строки).

Например, вы можете связать свою структуру с помощью ld -framework Framework -FPathToFramework foo.o или вашей динамической библиотеки с помощью ld -lLib -LPathToDylib foo.o. Возможно, вам придется узнать о @rpath, @loader_path и install_name_tool для отправки автономного упакованного приложения.

Что касается OpenFrameworks, "требование" для Xcode заключается в том, что авторы решили сохранить только файлы проекта Xcode. Я просто посмотрел, как они это делают, они отправляют исходный код и файлы проекта Xcode, которые создают статические библиотеки, поэтому для вас это будет еще проще (хотя вам нужно будет связать зависимости библиотеки вручную). Вам нужно будет выбрать между компиляцией всего из источника в вашей системе сборки (если вы хотите больше мощности настройки, не касаясь Xcode), или просто создайте две статические библиотеки (openFrameworks.a и openFrameworksDebug.a) с помощью Xcode один раз, затем используйте их в вашей системы сборки (рекомендуется, пока вам не понадобится постоянная настройка).